KR20070020052A - 소스 데이터를 타겟 데이터로 이전하는 방법, 시스템 및제조물 - Google Patents

소스 데이터를 타겟 데이터로 이전하는 방법, 시스템 및제조물 Download PDF

Info

Publication number
KR20070020052A
KR20070020052A KR1020067025095A KR20067025095A KR20070020052A KR 20070020052 A KR20070020052 A KR 20070020052A KR 1020067025095 A KR1020067025095 A KR 1020067025095A KR 20067025095 A KR20067025095 A KR 20067025095A KR 20070020052 A KR20070020052 A KR 20070020052A
Authority
KR
South Korea
Prior art keywords
source data
data
request
previous
write request
Prior art date
Application number
KR1020067025095A
Other languages
English (en)
Other versions
KR100962883B1 (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 KR20070020052A publication Critical patent/KR20070020052A/ko
Application granted granted Critical
Publication of KR100962883B1 publication Critical patent/KR100962883B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Abstract

본 발명에 따르면 소스 데이터를 타겟 데이터로 이전(migrating)하는 방법, 시스템 및 프로그램이 제공된다. 타겟 데이터로 이전되지 않은 소스 데이터에 응용 데이터를 기록하게 하는 기록 요청이 수신된다. 기록 요청에 대하여 응용 데이터가 기록될 소스 데이터를 표시하는 정보가 생성된다. 응용 데이터는 소스 데이터에 기록된다. 소스 데이터를 타겟 데이터로 이전하게 하는 요청이 수신되고, 이전 요청된 소스 데이터가 하나의 기록 요청에 대해 생성된 정보 내에 표시된 소스 데이터와 중첩된다고 판정된 것에 응답하여 이전 요청을 재시도하는 표시가 리턴된다.

Description

소스 데이터를 타겟 데이터로 이전하는 방법, 시스템 및 제조물{METHOD, SYSTEM, AND PROGRAM FOR MIGRATING SOURCE DATA TO TARGET DATA}
본 발명은 소스 데이터를 타겟 데이터로 이전(migrating)하는 방법, 시스템, 및 프로그램에 관한 것이다.
데이터베이스 파일, 디렉토리 또는 임의의 데이터 그룹화 등과 같은 저장 소자는 소스 저장 위치로부터 타겟 저장 위치로 이전되어, 데이터의 거울 복사본(mirror copy)을 형성 및 유지하거나, 데이터가 이전(migration) 후에 액세스될 타겟 위치에서의 새로운 위치로 데이터를 전달할 수 있다. 온라인 또는 비즈니스 데이터베이스 시스템의 전송 등과 같은 여러 대규모 데이터 전송은, 네트워크에 걸친 이전을 위해 상당한 양의 시간을 소요할 수 있다. 또한, 이전 동안에, 시스템은 트랜잭션이 계속 진행되도록 허용되도록 요구할 수 있다. 다양한 하드웨어 및 소프트웨어 솔루션은 데이터가 이전되는 동안에 소스 위치 및 타겟 위치 모두에 대해 업데이트를 전달하는 메커니즘을 제공한다. 이전 동작은 전형적으로 소스 데이터에 대한 판독 요청 및 그 후에 타겟에 대한 기록 요청의 발행을 필요로 한다. 이전 시스템은 소스 데이터가 타겟 데이터로 이전되는 동안에 응용 프로그램으로부터 소스 데이터에 대한 기록 요청이 개시될 때 발생될 수 있는 충돌 가능성을 해결해야만 한다. 예를 들어, 기존의 소스 데이터가 기록되는 동안에 새로운 소스 데이터가 수신되면 새로운 소스 데이터는 타겟 위치로 이전되지 않을 수 있다.
이러한 충돌 가능성에 대한 공지된 하나의 해결책은 응용 데이터의 기록 또는 이전 작업이 완료될 때까지 소스 데이터에 대한 액세스를 순차화하여, 진행중인 기록 또는 이전 작업이 완료될 때까지 응용 데이터의 기록 및 이전 동작에 대한 어떠한 간섭의 발생도 허용하지 않는 것이다. 이것은 정체 상태가 현재의 기록 또는 이전 동작으로부터 해제되기를 대기하는 요청의 완결로 리턴하는 것을 지연시킨다. 따라서, 순차화는 데이터가 이전되는 동안에 소스 데이터가 타겟 데이터로 기록되는 것이 완료될 때까지 소스 데이터에 대한 기록이 실행되는 것을 방지한다. 또한, 블록에 대한 업데이트가 발생하면 해당 블록에 대한 이전 동작은 업데이트가 완료될 때까지 지연된다. 순차화와 관련된 지연은 소스 데이터에 대한 기록 동작 및 소스 데이터의 타겟 데이터로의 이전 동작 모두의 작동을 지연시킬 수 있다.
본 발명에 따르면 소스 데이터를 타겟 데이터로 이전(migrating)하는 방법, 시스템 및 프로그램이 제공된다. 타겟 데이터로 이전되지 않은 소스 데이터에 응용 데이터를 기록하게 하는 기록 요청이 수신된다. 기록 요청에 대하여 응용 데이터가 기록될 소스 데이터를 표시하는 정보가 생성된다. 응용 데이터는 소스 데이터에 기록된다. 소스 데이터를 타겟 데이터로 이전하게 하는 요청이 수신되고, 이전 요청된 소스 데이터가 하나의 기록 요청에 대해 생성된 정보 내에 표시된 소스 데이터와 중첩된다고 판정된 것에 응답하여 이전 요청을 재시도하는 표시가 리턴된다.
다음에 그 전체에 걸쳐 동일한 참조 부호가 동일한 부분을 나타내는 도면을 참조한다.
도 1은 실시예가 구현되는 컴퓨터 환경을 도시하는 도면.
도 2는 중간 기록에서 유지되는 정보를 도시하는 도면.
도 3은 이전될 소스 데이터에 대한 기록 요청을 처리하는 동작을 도시하는 도면.
도 4는 데이터를 이전하는 동작을 도시하는 도면.
도 5는 데이터를 이전할 때 사용되는 판독 버퍼를 도시하는 도면.
도 6은 이전 요청을 처리하는 동작을 도시하는 도면.
이하의 설명에서 본 명세서의 일부분을 형성하고 본 발명의 여러 실시예를 나타내는 첨부된 도면을 참조하였다. 다른 실시예를 이용할 수 있다는 것과 본 발명의 범주를 벗어나지 않으면서 구조 및 작동 변경이 이루어질 수 있다는 것을 이 해할 것이다.
도 1은 메모리(4)를 포함하는 컴퓨터 시스템(2)을 도시한다. 컴퓨터(2) 내의 프로세스 및 스레드(threads)는 커널 어드레스 공간(kernel address space)(6) 또는 사용자 어드레스 공간(8) 내에서 실행되고, 여기에서 커널 어드레스 공간(6) 내에서 실행되는 프로세스는 사용자 어드레스 공간(8) 내에서 실행되는 프로세스에 비해 더 높은 우선 순위로 실행될 수 있다. 파일 시스템 관리자(10)는 커널 어드레스 공간(6) 내에서 실행되어 사용자 어드레스 공간(8) 내에서 실행되는 이전 관리자(migration manager)(12) 및 응용 프로그램(14)에 의해 발행된 판독 및 기록 요청을 처리한다. 이전 관리자(12)는 소스 저장부(18)의 소스 데이터(16) 내의 블록을 타겟 저장부(22)의 타겟 데이터(20) 내의 블록으로 이전하는 동작을 개시한다. 파일 시스템 관리자(10)는 이전 기능(24)을 실행하여 이전 동작을 유발하는 커맨드 내의 이전 관리자(12)에 의해 지정된 데이터의 이전 동작을 실행한다.
소스 저장부(18) 및 타겟 저장부(22)는 동일한 저장 장치 또는 시스템 내에 구현되거나 별개의 저장 장치 또는 시스템 내에 구현될 수 있다. 소스 저장부(18) 및 타겟 저장부(22)는 하나의 저장 장치 또는 디스크 드라이브 등과 같은 다중 상호 접속형 장치로서, RAID(Redundant Array of Independent Disks), JBOD(Just a Bunch of Disks), DASD(Direct Access Storage Device), 테이프 저장 장치, 예를 들면 테이프 라이브러리 등의 단일 또는 다중 저장 유닛으로 구성되는 종래 기술에서 공지된 어떠한 저장 장치도 포함할 수 있다. 컴퓨터(2)는 접속부(26a, 26b)를 통해 소스 저장부(18) 및 타겟 저장부(22)에 접속된다. 접속부(26a, 26b)는 네트 워크 접속부(예를 들면, 이더넷, 무선, 파이버 채널(Fibre Channel) 등) 등과 같이 본 기술 분야에 알려진 저장부와 호스트 사이의 임의의 인터페이스 또는 예를 들면, ATA(Advanced Technology Attachment), SATA(Serial ATA), SCSI(Small Computer System Interface) 등과 같이 호스트(2)의 인클로저(enclosure)에 대해 외부 장치이거나 내부 장치일 수 있는 종래 기술에서 알려진 임의의 다른 데이터 전송 인터페이스를 포함할 수 있다.
이전 맵(migration map)(28)은 소스 데이터(16) 내의 데이터 유닛이 타겟 데이터(20) 내의 유닛과 대응하는 방식에 관한 정보를 제공하여, 소스 데이터 유닛이 이전 맵(28)에 표시된 대응하는 타겟 데이터 유닛으로 전달되게 한다. 이전 관리자(12)는 이전 맵(28)을 이용하여 이전되는 소스 데이터 유닛을 수신할 타겟 데이터 유닛을 결정한다. 소스 데이터(16)는 데이터베이스, 대형 파일, 데이터 세트, 로직 디렉토리(logical directory), 로직 볼륨(logical volume), 파일 시스템, 프로그램, 멀티미디어 파일 등을 포함할 수 있다.
중간 기록 리스트(intervening write list)(30)는 이전 관리자(12)에 의해 개시된 데이터 이전 동작의 일부분으로서 타겟 데이터(20)로 이전된 소스 데이터(16) 유닛에 대해 응용 프로그램(14)으로부터 수신된 각각의 기록 요청에 대한 엔트리를 포함한다. 도 2는 응용 프로그램(14)으로부터의 기록 요청에 대해서 중간 기록 리스트(30) 내의 엔트리(50)에 유지된 정보를 나타낸다. 엔트리(50)는 기록이 지정된 소스 데이터(16)의 시작 부분을 표시하는 소스 시작 어드레스(52) 및 기록의 바이트 길이(54)를 포함하는데, 여기에서 시작 어드레스(52) 및 길이(54)는 모두 업데이트될 소스 데이터(16) 내의 요청된 데이터 또는 유닛을 표시한다. 상태 필드(56)는 기록 요청이 미결(pending) 또는 완결(completed)되었는지를 나타낸다.
도 3은 응용 프로그램(14) 중 하나로부터 이전될 소스 데이터(16)에 대한 기록 요청을 처리하기 위해 파일 시스템 관리자(10)에 의해 실행된 동작을 나타낸다. 도 3에서의 동작은 이전 기능(24)을 실행하는 파일 시스템 관리자(10)에 의해 실행될 수 있는데, 이 이전 기능(24)은 소스 데이터를 이전 모드로 처리하는 동작을 실행할 때 파일 시스템 관리자(10)에 의해 촉진된다. (블록(100)에서) 응용 프로그램(14)으로부터 소스 데이터(16)에 대한 기록 요청을 수신할 때, (블록(102)에서) 기록 데이터가 이전 맵(28) 내에서 이전되지 않은 것으로 표시된 임의의 소스 데이터와 중첩되지 않으면, (블록(104)에서) 파일 시스템 관리자(10)는 소스 데이터(16) 및 대응하는 타겟 데이터(20) 모두에 대해 수신된 데이터를 기록한다. 그렇지 않고 응용 프로그램(14)으로부터의 기록 데이터가 이전 맵(28) 내에서 이전되지 않은 것으로 표시된 소스 데이터(16)와 중첩되면, (블록(106)에서) 파일 시스템 관리자(10)는 수신된 기록 요청에 대해서 기록하도록 요청된 소스 데이터를 표시하는 중간 기록 리스트(30)에 대해 엔트리(50)(도 2)를 추가하는데, 다시 말해서 이 엔트리는 기록할 데이터의 소스 시작 어드레스(52) 및 바이트 길이(54)와, 초기에는 미결로 표시된 상태(56)를 포함한다. (블록(108)에서) 수신된 데이터는 소스 데이터(16)에 기록되고, 중간 기록 리스트(30) 내의 엔트리(50)에 대한 상태(56) 즉, 중간 응용 기록 요청에 대한 정보는 (블록(110)에서) 소스 데이터(16)에 대한 데이터의 기록 완료에 응답하여 완결로 설정된다.
도 4는 이전 동작을 실행하기 위해서 이전 관리자(12)에 의해 실행된 동작을 나타낸다. (블록(150)에서) 소스 데이터를 타겟 데이터로 이전하는 동작이 개시되면, 이전 관리자(12)는 (블록(152)에서) 이전 맵(28)을 처리하여 대응하는 타겟 데이터(20)로 이전될 소스 데이터(16)의 하나 이상의 유닛을 결정한다. 이전 관리자(12)는 (블록(154)에서) 이전 요청을 발행하여 파일 시스템 관리자(10)가 소스 데이터(16)에서 결정된 유닛을 대응하는 타겟 데이터(20)로 이전하게 한다. (블록(156)에서) 이전 요청에 대한 응답을 수신하면, (블록(158)에서) 이전이 성공일 때 이전 관리자(12)는 (블록(160)에서) 이전 맵(28)을 업데이트하여 소스 데이터 유닛이 기록되었고, 성공적으로 대응하는 타겟 데이터(20)로 이전되었다는 것을 표시한다. (블록(158)에서) 이전이 실패하였다면 (블록(162)에서) 이전 동작이 재시도되어야 하는지 여부에 대한 판정이 이루어진다. "예"라면, 제어는 블록(154)으로 되돌아가서 성공적으로 이전되지 않은 소스 데이터(16)에 대한 이전 요청을 재발행한다. "아니오"일 때, 이전이 재시도되지 않았다면 임의의 추가적인 에러 처리가 실행된다(블록(164)).
특정한 실시예에서, 이전 관리자(12)는 판독 커맨드 및 판독 버퍼(예를 들면, 도 5의 판독 버퍼(170))를 파일 시스템 관리자(10)에 제시하는 것에 의해 이전 동작을 개시할 수 있다. 판독 버퍼를 제시하는 데 있어서, 이전 관리자(12)는 판독 버퍼(170)에 대한 포인터를 제시할 수 있다. 파일 시스템 관리자(10)는 관리자 기능(24)을 실행하여, 이전 관리자(12)로부터의 판독을 요청된 소스 데이터(16)를 판독하고 판독된 소스 데이터를 대응하는 타겟 저장부(22)에 있는 타겟 데이터(20)로 기록하는 특수한 이전 커맨드로서 처리한다. 이전 관리자(12)는 초기에 IOCTL 등과 같은 대역외(out-of-band) 메커니즘을 이용하여 소정의 데이터 또는 저장부가 이전 상태임을 파일 시스템 관리자(10)에게 경고할 수 있다. IOCTL은 이전 처리될 장치 또는 데이터 및 소스 저장부(18) 또는 소스 데이터(16)가 I/O 커맨드로 어드레싱될 때 파일 시스템 관리자(10)가 데이터의 이전을 위해 실행하는 이전 기능(24)을 언급하는 개방형 파일 기술자(open file descriptor)를 상술할 수 있다.
이전 기능(24)은 이전 관리자(12)가 제공한 판독 버퍼(170)(도 5)가 모든 요청된 데이터를 포함하지는 않는다는 것을 표시하는 응답을 이전 관리자(12)로부터의 판독에 대해 리턴함으로써 이전 동작이 완결되지 않았다는 것을 표시할 수 있다. 이전 관리자(12)가 이전 동작을 재시도하게 하기 위해서, 이전 기능(24)은 이전 관리자(12)가 이전 동작을 재시도해야 한다는 것을 나타내는 이전 재시도 코드(172)를 이전 관리자(12)가 제공한 판독 버퍼(170) 내에 제시할 수 있다. 따라서, 이전 기능(24)은 요청된 모든 데이터가 판독 버퍼(170) 내에 포함되지는 않았다는 것을 나타내고, 판독 버퍼(170) 내의 이전 재시도 코드(172)를 포함하는 정보의 조합을 제공함으로써 이전 관리자(12)에게 이전 동작을 재시도하도록 표시할 수 있다. 이전 기능(24)은 이전 재시도 코드(172)가 배치된 위치를 덮어쓰기(overwriting)하고, 임의의 다른 인식된 에러 코드를 판독 버퍼(170) 내에 기록함으로써 판독 버퍼(170) 내에 서로 다른 에러 코드를 제공할 수 있다. 그러므로, 이전 관리자(12)는 판독이 완결되지 않았다고 통지받으면 이전 재시도 코드(172) 또는 처리할 다른 에러 코드를 검색할 수 있다.
도 6은 이전 관리자(12)로부터의 판독 요청에 의해 개시될 수 있는 이전 요청을 파일 시스템 관리자(10)가 처리하도록 유도하는 이전 기능(24) 내에 인코딩된 동작을 도시한다. 이러한 판독 요청은 이전될 소스 데이터(16)뿐만 아니라 소스 데이터(16)를 기록하도록 이전 맵(28) 내에 표시된 대응하는 타겟 데이터(20)를 표시할 수 있다. 이와 다르게, 이전 기능(24)은 이전 맵(28)을 처리하여 표시된 소스 데이터(16)를 이전할 대응하는 타겟 데이터(20)를 결정할 수 있다. 이전 기능(24)은 (블록(200)에서) 이전될 소스 데이터(16)에 대한 이전 관리자(12)로부터의 이전 요청을 처리한다. 특정한 실시예에서, 이러한 요청은 판독 버퍼(170)를 가지고 이전될 소스 데이터(16)에 대한 판독 요청을 포함할 수 있다. (블록(202)에서) 이전 요청된 소스 데이터(16)가 미결 상태(56)를 갖는 중간 기록 리스트(30) 내의 임의의 엔트리(50)(도 2)와 중첩되면, 이전 기능(24)은 (블록(204)에서) 판독 동작을 재시도하도록 표시하는 응답을 리턴한다. 특정한 실시예에서, 재시도 요청은 이전 재시도 코드(172)를 판독 버퍼(170) 내에 인코딩하고, 요청된 데이터가 모두 판독 버퍼(170)에 기록되지는 않았다는 것을 나타내는 메시지를 리턴하는 것에 의해 구현될 수 있다. 이것은 이전될 소스 데이터(16)가 해당 데이터의 가장 최근의 버전이라는 것과, 어떠한 새로운 응용 데이터가 적용된 후에 소스 데이터가 이전된다는 것을 보장할 것이다.
(블록(202)에서) 소스 데이터(16)가 중간 기록 리스트(30) 내의 엔트리(50)에 표시된 바와 같이 응용 프로그램(14)으로부터 소스 데이터(16)에 기록된 어떠한 데이터와도 중첩되지 않는다면, 소스 데이터(16)는 (블록(206)에서) 이전 맵(28)에 표시된 대응하는 타겟 데이터(20) 위치에 기록된다. (블록(208)에서) 이전될 소스 데이터(16)가 그 상태(56)(도 2)에 무관하게 즉, 미결 상태 또는 완결 상태인지에 무관하게 중간 기록 리스트(30) 내의 임의의 엔트리와 중첩된다면, 이전 작업이 발생하는 동안에 응용 프로그램(14)으로부터 이전되는 소스 데이터(16)에 대한 진행 중인 기록 요청이 미결 또는 완결될 가능성이 존재하기 때문에 이전은 재시도된다. 다음에 이전 기능(24) 또는 몇몇 다른 프로세스는 (블록(210)에서) 완결 상태(56)를 갖는 중간 기록 리스트(30) 내의 모든 엔트리를 제거함으로써 중간 기록 리스트(30)에 대한 소거(clean-up) 동작을 실행한다. 이전 기능(24)은 블록(204)으로 진행되어, (예를 들면, 이전 재시도 코드를 판독 버퍼 내에 인코딩하고, 모든 데이터가 판독 버퍼에 기록되지는 않았다는 것을 표시하는 메시지를 리턴하는 것에 의해) 판독 동작을 재시도한다. 예전에 완결된 중간 기록 요청이 재시도된 이전 동작에 대해 충돌 또는 부합되지 않는 데이터의 기록을 유발하지 않아야 하기 때문에 (블록(210)에서) 완결된 엔트리는 판독 동작의 재시도에 응답하여 제거된다.
(블록(208)에서) 기록된 소스 데이터(16)가 중간 기록 리스트(30) 내에 표시된 응용 프로그램(14)으로부터의 어떠한 기록 요청과도 중첩되지 않으면, 이전 동작은 성공이고, 이전 기능(24)(또는 몇몇 다른 프로세스)은 (블록(212)에서) 완결 상태(56)(도 2)를 갖는 중간 기록 리스트(30) 내의 모든 엔트리(50)를 제거하고, 또한 이전 맵(28) 내의 기록된 소스 데이터에 선행하는 데이터에 기록하는 엔트리(50)를 제거한다. 다음에 이전 기능(24)은 (블록(214)에서) 이전 요청의 완결로 리턴된다. 판독 요청으로 이전 요청이 개시되는 실시예에서, 이전 기능(24)은 판독 버퍼(170)가 모든 요청된 데이터를 포함한다고 표시하는 응답을 이전 관리자(12)에게 리턴할 수 있다.
도시된 실시예에서, 데이터를 이전할 때 제한 작업이 요구되지 않으므로, 응용 프로그램(14)으로부터의 기록 또는 이전 관계가 형성될 소스 데이터(16)에 대한 이전 관리자(12)로부터의 이전 동작은 제한 작업 또는 순차화를 이용하지 않고 완료될 수 있다. 이것은 제한 동작 및 순차화의 사용으로 발생될 수 있는 응용 기록 요청 및 이전 동작 모두에 대한 지연을 방지한다. 소정의 개시된 동작을 가지고, 응용 프로그램(14)으로부터의 중간 기록 요청이 충돌을 유발하거나 부합되지 않는 데이터의 이전을 초래할 가능성이 존재하는 경우에, 제한 동작 및 순차화를 이용하는 것 대신에 이전 동작을 재시도한다.
세부적인 추가 실시예
설명된 동작은 소프트웨어, 펌웨어, 하드웨어 또는 그 임의의 조합을 생성하기 위해 표준 프로그래밍 및/또는 엔지니어링 기법을 이용하는 방법, 장치 또는 제조물로 구현될 수 있다. 본 명세서에 사용된 "제조물"이라는 용어는 하드웨어 로직(예를 들면, 집적 회로 칩, PGA(Programmable Gate Array), ASIC(Application Specific Integrated Circuit) 등)으로 구현되거나 자기 저장 매체(예를 들면, 하드 디스크 드라이브, 플로피 디스크, 테이프 등), 광학 저장 매체(CD-ROM, 광학 디스크 등), 휘발성 및 비휘발성 메모리 장치(예를 들면, EEPROM, ROM, PROM, RAM, DRAM, SRAM, 펌웨어, 프로그래밍 가능 로직 등)와 같은 컴퓨터 판독 가능 매체로 구현되는 코드 또는 로직을 지칭한다. 컴퓨터 판독 가능 매체 내의 코드는 프로세서에 의해 액세스 및 실행된다. 바람직한 실시예를 구현하는 코드는 또한 전송 매체를 통해 액세스되거나 네트워크에 걸쳐 파일 서버로부터 액세스될 수 있다. 이러한 경우에, 코드가 구현되는 제조물은 네트워크 전송 라인, 무선 전송 매체, 공간을 통해 전파되는 신호, 무선파, 적외선 신호 등과 같은 전송 매체를 포함할 수 있다. 그러므로, "제조물"은 코드가 구현되는 매체를 포함할 수 있다. 추가적으로, "제조물"은 코드가 구현, 처리 및 실행되는 하드웨어와 소프트웨어 구성 요소의 조합을 포함할 수 있다. 물론, 당업자라면 본 발명의 범주를 벗어나지 않으면서 이러한 구성에 대한 여러 변형이 이루어질 수 있다는 것과, 제조물은 종래 기술에서 알려진 임의의 정보 저장 매체를 포함할 수 있다는 것을 이해할 것이다.
설명된 동작은 회로에 의해 실행될 수 있는데, 여기에서 "회로"는 하드웨어 또는 소프트웨어를 지칭하거나 그 조합을 지칭한다. 설명된 실시예의 동작을 실행하는 회로는 집적 회로 칩, PGA(Programmable Gate Array), ASIC(Application Specific Integrated Circuit) 등과 같은 하드웨어 장치를 포함할 수 있다. 회로는 또한 집적 회로 등과 같은 프로세서 부품 및 메모리 등과 같은 컴퓨터 판독 가능 매체 내의 코드를 포함할 수 있는데, 여기에서 코드는 프로세서에 의해 실행되어 설명된 실시예의 동작을 실행한다.
특정 실시예에서, 동작은 파일 시스템 관리자(10), 이전 기능(24) 및 이전 관리자(12) 등과 같은 구성 요소에 의해 실행되는 것으로 설명되어 있다. 다른 실 시예에서, 설명된 동작은 설명된 것 이외의 구성 요소 또는 추가적인 구성 요소에 의해 실행될 수 있다. 또한, 커널 공간(6) 또는 사용자 공간(8) 내의 구성 요소에 의해 실행되는 것으로 설명된 동작은 설명된 것과는 다른 우선 순위를 갖는 상이한 어드레스 공간 내에서 실행될 수 있다.
도 3, 도 4 및 도 6에 도시된 동작은 특정 순서로 발생하는 특정 이벤트를 나타낸다. 다른 실시예에서, 특정한 동작은 상이한 순서, 수정 또는 제거되어 실행될 수 있다. 또한, 단계들이 상술된 로직에 추가되면서도 설명된 실시예와 계속 부합될 수 있다. 또한, 본 명세서에 설명된 동작은 순차적으로 발생하거나 특정 동작이 동시에 처리될 수 있다. 또한, 동작들은 단일 처리 유닛 또는 분산형 처리 유닛에 의해 실행될 수 있다.
본 발명의 여러 실시예에 대한 상술된 설명은 예시 및 설명을 목적으로 제시되었다. 이것은 본 발명을 설명된 특정한 형태로 제한하거나 한정하도록 의도된 것이 아니다. 상술된 설명을 참조하여 여러 변형 및 수정이 이루어질 수 있다. 본 발명의 범주는 이러한 상세한 설명으로 한정되도록 의도된 것이 아니고, 본 명세서에 첨부된 청구항에 의해서만 한정되도록 의도된 것이다. 상기 명세서, 예시 및 데이터는 본 발명의 구성물에 대한 제조 및 사용에 관한 온전한 설명을 제공한다. 본 발명의 정신 및 범주를 벗어나지 않으면서 본 발명의 여러 실시예가 형성될 수 있으므로, 본 발명은 이하에 첨부된 청구항에 속한다.
불확실성을 회피하기 위해서, 상세한 설명 및 청구항에 걸쳐 본 명세서에서 사용된 "포함한다"라는 용어는 "오로지 그것만을 포함한다"는 의미로 해석되어서는 안 된다.

Claims (33)

  1. 소스 데이터를 타겟 데이터로 이전(migrating)하는 방법으로서,
    상기 타겟 데이터로 이전되지 않은 소스 데이터에 응용 데이터를 기록하게 하는 기록 요청을 수신하는 단계와,
    상기 기록 요청에 대하여 상기 응용 데이터가 기록될 상기 소스 데이터를 표시하는 정보를 생성하는 단계와,
    상기 응용 데이터를 상기 소스 데이터에 기록하는 단계와,
    상기 소스 데이터를 상기 타겟 데이터로 이전하게 하는 이전 요청을 수신하는 단계와,
    상기 이전 요청된 소스 데이터가 하나의 기록 요청에 대해 상기 생성된 정보 내에 표시된 소스 데이터와 중첩된다고 판정된 것에 응답하여 상기 이전 요청을 재시도하는 표시를 리턴(return)하는 단계
    를 포함하는 이전 방법.
  2. 제 1 항에 있어서,
    상기 응용 데이터를 기록하게 하는 상기 기록 요청은 응용(application)으로부터 생성되고, 상기 이전 요청은 이전 프로그램(migration program)으로부터 생성되는
    이전 방법.
  3. 제 2 항에 있어서,
    상기 응용 및 상기 이전 프로그램은 사용자 어드레스 공간 내에서 실행되고,
    상기 기록 요청의 수신 단계와, 상기 정보의 생성 단계와, 상기 요청된 데이터의 기록 단계와, 상기 중첩의 판정 단계와, 상기 재시도 표시의 리턴 단계는 커널 어드레스 공간(kernel address space) 내에서 실행되는 적어도 하나의 프로세스에 의해 실행되는
    이전 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 하나의 기록 요청에 대해 생성된 정보는 상기 응용 데이터의 상기 기록 상태를 미결(pending) 또는 완결(completed)로서 표시하고,
    상기 재시도 표시는 이전될 상기 소스 데이터가 상기 타겟 데이터로 전달되기 전에, 상기 이전 요청된 소스 데이터가 미결 상태를 갖는 하나의 기록 요청에 대해 생성된 정보 내에 표시된 소스 데이터와 중첩된다고 판정하는 것에 응답하여 리턴되는
    이전 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 하나의 기록 요청에 대해 생성된 정보는 상기 응용 데이터의 상기 기록 상태를 미결 또는 완결로서 표시하고,
    상기 재시도 표시는 이전될 상기 소스 데이터가 상기 타겟 데이터로 전달된 후에, 상기 이전 요청된 소스 데이터가 미결 또는 완결 상태를 갖는 하나의 기록 요청에 대해 생성된 정보 내에 표시된 소스 데이터와 중첩된다고 판정하는 것에 응답하여 리턴되는
    이전 방법.
  6. 제 5 항에 있어서,
    상기 기록 요청에 대해 상기 생성된 정보 내에 표시된 상기 소스 데이터에 상기 응용 데이터를 기록하는 것에 응답하여 하나의 기록 요청에 대해 상기 생성된 정보의 상태를 완결 상태로 설정하는 단계를 더 포함하고,
    상기 기록 요청에 대해 상기 응용 데이터를 상기 소스 데이터에 기록하는 상기 동작 및 상기 이전 요청에 응답하여 상기 소스 데이터를 상기 타겟 데이터로 이전하는 상기 동작은 서로에 대해 독립적으로 실행되는
    이전 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    이전될 상기 소스 데이터를 상기 타겟 데이터로 전달하기 전 및 이전될 상기 소스 데이터를 상기 타겟 데이터로 전달한 후에, 상기 이전 요청된 소스 데이터가 하나의 기록 요청에 대해 생성된 정보 내에 표시된 소스 데이터와 중첩된다고 판정하는 것에 응답하여 상기 재시도 표시를 리턴하는
    이전 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 생성된 정보는 상기 기록 상태를 미결 또는 완결로서 표시하고,
    상기 방법은 소스 데이터를 타겟 데이터로 이전한 후에 완결 상태를 갖는 기록 요청에 대해 생성된 정보를 제거하는 단계를 더 포함하는
    이전 방법.
  9. 제 8 항에 있어서,
    이전될 상기 소스 데이터를 상기 타겟 데이터에 기록하는 것에 응답하여 이전될 상기 소스 데이터에 선행하는 소스 데이터에 대한 기록 요청을 위해 생성된 정보를 제거하는 단계를 더 포함하는
    이전 방법.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 이전 요청의 재시도 표시를 리턴하는 상기 단계는
    상기 이전 요청에 대한 응답 내에 상기 요청이 완결되지 않았다는 것을 표시하는 단계와,
    상기 이전 요청을 재시도하는 것을 표시하는 재시도 코드를 상기 응답 내에 포함하는 단계를 포함하는
    이전 방법.
  11. 제 10 항에 있어서,
    상기 이전 요청은 판독 버퍼를 제공하는 이전 프로세스로부터의 판독 요청을 포함하고,
    상기 응답 내에 상기 이전 요청이 완결되지 않았다는 것을 표시하는 상기 단계는, 상기 요청된 데이터가 모두 상기 판독 버퍼 내에 포함되지는 않았다는 것을 표시하는 단계를 포함하고,
    상기 재시도 코드는 상기 판독 요청에 응답하여 리턴되는 상기 판독 버퍼 내의 사전 결정된 위치에 포함되는
    이전 방법.
  12. 소스 데이터를 타겟 데이터로 이전하는 시스템으로서,
    소스 저장 위치와,
    타겟 저장 위치와,
    메모리와,
    상기 소스 및 타겟 저장 위치 및 상기 메모리와 통신 가능한 회로를 포함하고,
    상기 회로는
    (i) 상기 타겟 데이터로 이전되지 않은 소스 데이터에 응용 데이터를 기록하게 하는 기록 요청을 수신하는 단계와,
    (ii) 상기 기록 요청에 대하여 상기 응용 데이터가 기록될 상기 소스 데이터를 표시하는 정보를 상기 메모리 내에 생성하는 단계와,
    (iii) 상기 응용 데이터를 상기 소스 저장 위치 내의 상기 소스 데이터에 기록하는 단계와,
    (iv) 상기 소스 데이터를 상기 타겟 저장 위치 내의 타겟 데이터로 이전하게 하는 요청을 수신하는 단계와,
    (v) 상기 이전 요청된 소스 데이터가 하나의 기록 요청에 대해 상기 생성된 정보 내에 표시된 소스 데이터와 중첩된다고 판정된 것에 응답하여 상기 이전 요청 을 재시도하는 표시를 리턴하는 단계를 실행할 수 있는
    시스템.
  13. 제 12 항에 있어서,
    상기 응용 데이터를 기록하게 하는 상기 기록 요청은 응용으로부터 생성되고, 상기 이전 요청은 이전 프로그램으로부터 생성되는
    시스템.
  14. 제 13 항에 있어서,
    상기 회로는 사용자 어드레스 공간 및 커널 어드레스 공간을 생성하는 단계를 더 실행할 수 있고,
    상기 응용 프로그램 및 상기 이전 프로그램은 상기 사용자 어드레스 공간 내에서 실행되고,
    상기 기록 요청의 수신 단계와, 상기 정보의 생성 단계와, 상기 요청된 데이터의 기록 단계와, 상기 중첩의 판정 단계와, 상기 재시도 표시의 리턴 단계는 상기 커널 어드레스 공간 내에서 실행되는 적어도 하나의 프로세스에 의해 실행되는
    시스템.
  15. 제 12 항 내지 제 14 항 중 어느 한 항에 있어서,
    상기 하나의 기록 요청에 대해 생성된 정보는 상기 응용 데이터의 상기 기록 상태를 미결 또는 완결로서 표시하고,
    상기 재시도 표시는 이전될 상기 소스 데이터가 상기 타겟 데이터로 전달되기 전에, 상기 이전 요청된 소스 데이터가 미결 상태를 갖는 하나의 기록 요청에 대해 생성된 정보 내에 표시된 소스 데이터와 중첩된다고 판정하는 것에 응답하여 리턴되는
    시스템.
  16. 제 12 항 내지 제 15 항 중 어느 한 항에 있어서,
    상기 하나의 기록 요청에 대해 생성된 정보는 상기 기록 상태를 미결 또는 완결로서 표시하고,
    상기 재시도 표시는 이전될 상기 소스 데이터가 상기 타겟 데이터로 전달된 후에, 상기 이전 요청된 소스 데이터가 미결 또는 완결 상태를 갖는 하나의 기록 요청에 대해 생성된 정보 내에 표시된 소스 데이터와 중첩된다고 판정하는 것에 응답하여 리턴되는
    시스템.
  17. 제 16 항에 있어서,
    상기 회로는 상기 기록 요청에 대해 상기 생성된 정보 내에 표시된 상기 소스 데이터에 상기 응용 데이터를 기록하는 것에 응답하여 하나의 기록 요청에 대해 상기 생성된 정보의 상태를 완결 상태로 설정하는 단계를 더 실행할 수 있고,
    상기 기록 요청에 대해 상기 응용 데이터를 상기 소스 데이터에 기록하는 상기 동작 및 상기 이전 요청에 응답하여 상기 소스 데이터를 상기 타겟 데이터로 이전하는 상기 동작은 서로에 대해 독립적으로 실행되는
    시스템.
  18. 제 12 항 내지 제 17 항 중 어느 한 항에 있어서,
    이전될 상기 소스 데이터를 상기 타겟 데이터로 전달하기 전 및 이전될 상기 소스 데이터를 상기 타겟 데이터로 전달한 후에, 상기 이전 요청된 소스 데이터가 하나의 기록 요청에 대해 생성된 정보 내에 표시된 소스 데이터와 중첩된다고 판정하는 것에 응답하여 상기 재시도 표시를 리턴하는
    시스템.
  19. 제 12 항 내지 제 18 항 중 어느 한 항에 있어서,
    상기 생성된 정보는 상기 기록 상태를 미결 또는 완결로서 표시하고,
    상기 회로는 소스 데이터를 타겟 데이터로 이전한 후에 완결 상태를 갖는 기록 요청에 대해 생성된 정보를 제거하는 단계를 더 실행할 수 있는
    시스템.
  20. 제 19 항에 있어서,
    상기 회로는 이전될 상기 소스 데이터를 상기 타겟 데이터에 기록하는 것에 응답하여 이전될 상기 소스 데이터에 선행하는 소스 데이터에 대한 기록 요청을 위해 생성된 정보를 제거하는 단계를 더 실행할 수 있는
    시스템.
  21. 제 12 항 내지 제 20 항 중 어느 한 항에 있어서,
    상기 이전 요청의 재시도 표시를 리턴하는 상기 단계는
    상기 이전 요청에 대한 응답 내에 상기 요청이 완결되지 않았다는 것을 표시하는 단계와,
    상기 이전 요청을 재시도하는 것을 표시하는 재시도 코드를 상기 응답 내에 포함하는 단계를 포함하는
    시스템.
  22. 제 21 항에 있어서,
    상기 이전 요청은 판독 버퍼를 제공하는 이전 프로세스로부터의 판독 요청을 포함하고,
    상기 응답 내에 상기 이전 요청이 완결되지 않았다는 것을 표시하는 상기 단계는, 상기 요청된 데이터가 모두 상기 판독 버퍼 내에 포함되지는 않았다는 것을 표시하는 단계를 포함하고,
    상기 재시도 코드는 상기 판독 요청에 응답하여 리턴된 상기 판독 버퍼 내의 사전 결정된 위치에 포함되는
    시스템.
  23. 소스 데이터를 타겟 데이터로 이전하는 제조물로서,
    상기 타겟 데이터로 이전되지 않은 소스 데이터에 응용 데이터를 기록하게 하는 기록 요청을 수신하는 단계와,
    상기 기록 요청에 대하여 상기 응용 데이터가 기록될 상기 소스 데이터를 표시하는 정보를 생성하는 단계와,
    상기 응용 데이터를 상기 소스 데이터에 기록하는 단계와,
    상기 소스 데이터를 상기 타겟 데이터로 이전하게 하는 요청을 수신하는 단계와,
    상기 이전 요청된 소스 데이터가 하나의 기록 요청에 대해 상기 생성된 정보 내에 표시된 소스 데이터와 중첩된다고 판정된 것에 응답하여 상기 이전 요청을 재시도하는 표시를 리턴하는 단계를 포함하는 동작이 실행되게 하는
    제조물.
  24. 제 23 항에 있어서,
    상기 응용 데이터를 기록하게 하는 상기 기록 요청은 응용으로부터 생성되고, 상기 이전 요청은 이전 프로그램으로부터 생성되는
    제조물.
  25. 제 24 항에 있어서,
    상기 응용 및 상기 이전 프로그램은 사용자 어드레스 공간 내에서 실행되고,
    상기 기록 요청의 수신 단계와, 상기 정보의 생성 단계와, 상기 요청된 데이터의 기록 단계와, 상기 중첩의 판정 단계와, 상기 재시도 표시의 리턴 단계는 커널 어드레스 공간 내에서 실행되는 적어도 하나의 프로세스에 의해 실행되는
    제조물.
  26. 제 23 항 내지 제 25 항 중 어느 한 항에 있어서,
    상기 하나의 기록 요청에 대해 생성된 정보는 상기 응용 데이터의 상기 기록 상태를 미결 또는 완결로서 표시하고,
    상기 재시도 표시는 이전될 상기 소스 데이터가 상기 타겟 데이터로 전달되기 전에, 상기 이전 요청된 소스 데이터가 미결 상태를 갖는 하나의 기록 요청에 대해 생성된 정보 내에 표시된 소스 데이터와 중첩된다고 판정하는 것에 응답하여 리턴되는
    제조물.
  27. 제 23 항 내지 제 26 항 중 어느 한 항에 있어서,
    상기 하나의 기록 요청에 대해 생성된 정보는 상기 기록 상태를 미결 또는 완결로서 표시하고,
    상기 재시도 표시는 이전될 상기 소스 데이터가 상기 타겟 데이터로 전달된 후에, 상기 이전 요청된 소스 데이터가 미결 또는 완결 상태를 갖는 하나의 기록 요청에 대해 생성된 정보 내에 표시된 소스 데이터와 중첩된다고 판정하는 것에 응답하여 리턴되는
    제조물.
  28. 제 27 항에 있어서,
    상기 동작은 상기 기록 요청에 대해 상기 생성된 정보 내에 표시된 상기 소스 데이터에 상기 응용 데이터를 기록하는 것에 응답하여 하나의 기록 요청에 대해 상기 생성된 정보의 상태를 완결 상태로 설정하는 단계를 더 포함하고,
    상기 기록 요청에 대해 상기 응용 데이터를 상기 소스 데이터에 기록하는 상기 동작 및 상기 이전 요청에 응답하여 상기 소스 데이터를 상기 타겟 데이터로 이전하는 상기 동작은 서로에 대해 독립적으로 실행되는
    제조물.
  29. 제 23 항 내지 제 28 항 중 어느 한 항에 있어서,
    이전될 상기 소스 데이터를 상기 타겟 데이터로 전달하기 전 및 이전될 상기 소스 데이터를 상기 타겟 데이터로 전달한 후에, 상기 이전 요청된 소스 데이터가 하나의 기록 요청에 대해 생성된 정보 내에 표시된 소스 데이터와 중첩된다고 판정하는 것에 응답하여 상기 재시도 표시를 리턴하는
    제조물.
  30. 제 23 항 내지 제 29 항 중 어느 한 항에 있어서,
    상기 생성된 정보는 상기 기록 상태를 미결 또는 완결로서 표시하고,
    상기 동작은 소스 데이터를 타겟 데이터로 이전한 후에 완결 상태를 갖는 기록 요청에 대해 생성된 정보를 제거하는 단계를 더 포함하는
    제조물.
  31. 제 30 항에 있어서,
    상기 동작은 이전될 상기 소스 데이터를 상기 타겟 데이터에 기록하는 것에 응답하여 이전될 상기 소스 데이터에 선행하는 소스 데이터에 대한 기록 요청을 위해 생성된 정보를 제거하는 단계를 더 포함하는
    제조물.
  32. 제 23 항 내지 제 31 항 중 어느 한 항에 있어서,
    상기 이전 요청의 재시도 표시를 리턴하는 상기 단계는
    상기 이전 요청에 대한 응답 내에 상기 요청이 완결되지 않았다는 것을 표시하는 단계와,
    상기 이전 요청을 재시도하는 것을 표시하는 재시도 코드를 상기 응답 내에 포함하는 단계를 포함하는
    제조물.
  33. 제 32 항에 있어서,
    상기 이전 요청은 판독 버퍼를 제공하는 이전 프로세스로부터의 판독 요청을 포함하고,
    상기 응답 내에 상기 이전 요청이 완결되지 않았다는 것을 표시하는 상기 단계는, 상기 요청된 데이터가 모두 상기 판독 버퍼 내에 포함되지는 않았다는 것을 표시하는 단계를 포함하고,
    상기 재시도 코드는 상기 판독 요청에 응답하여 리턴된 상기 판독 버퍼 내의 사전 결정된 위치에 포함되는
    제조물.
KR1020067025095A 2004-06-10 2005-05-10 소스 데이터를 타겟 데이터로 이전하는 방법, 시스템 및제조물 KR100962883B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/865,625 2004-06-10
US10/865,625 US7613889B2 (en) 2004-06-10 2004-06-10 System, method, and program for determining if write data overlaps source data within a data migration scheme

Publications (2)

Publication Number Publication Date
KR20070020052A true KR20070020052A (ko) 2007-02-16
KR100962883B1 KR100962883B1 (ko) 2010-06-09

Family

ID=34967457

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067025095A KR100962883B1 (ko) 2004-06-10 2005-05-10 소스 데이터를 타겟 데이터로 이전하는 방법, 시스템 및제조물

Country Status (6)

Country Link
US (1) US7613889B2 (ko)
EP (1) EP1754172A2 (ko)
JP (1) JP4738413B2 (ko)
KR (1) KR100962883B1 (ko)
CN (1) CN1934568B (ko)
WO (1) WO2005122007A2 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707186B2 (en) * 2004-06-18 2010-04-27 Emc Corporation Method and apparatus for data set migration
US7945613B2 (en) * 2007-12-05 2011-05-17 International Business Machines Corporation Method for non-disruptively associating applications and middleware components with information technology infrastructure
US8356151B2 (en) * 2008-02-01 2013-01-15 International Business Machines Corporation Reporting of partially performed memory move
US8327101B2 (en) * 2008-02-01 2012-12-04 International Business Machines Corporation Cache management during asynchronous memory move operations
US8015380B2 (en) * 2008-02-01 2011-09-06 International Business Machines Corporation Launching multiple concurrent memory moves via a fully asynchronoous memory mover
US8245004B2 (en) * 2008-02-01 2012-08-14 International Business Machines Corporation Mechanisms for communicating with an asynchronous memory mover to perform AMM operations
US8275963B2 (en) * 2008-02-01 2012-09-25 International Business Machines Corporation Asynchronous memory move across physical nodes with dual-sided communication
US8095758B2 (en) * 2008-02-01 2012-01-10 International Business Machines Corporation Fully asynchronous memory mover
US7930504B2 (en) * 2008-02-01 2011-04-19 International Business Machines Corporation Handling of address conflicts during asynchronous memory move operations
CN101364186B (zh) * 2008-09-27 2012-01-25 腾讯科技(深圳)有限公司 数据迁移方法、数据迁移服务器及数据接口服务器
US8738872B2 (en) 2009-04-03 2014-05-27 Peter Chi-Hsiung Liu Methods for migrating data in a server that remains substantially available for use during such migration
US20110246714A1 (en) * 2010-03-30 2011-10-06 Lenovo (Singapore) Pte. Ltd. Migrating client operating systems to remote storage
WO2011142762A1 (en) * 2010-05-13 2011-11-17 Hewlett-Packard Development Company, L.P. File system migration
CN101887456A (zh) * 2010-06-30 2010-11-17 百视通网络电视技术发展有限责任公司 一种数据迁移系统和方法
US8112665B1 (en) * 2010-07-23 2012-02-07 Netapp, Inc. Methods and systems for rapid rollback and rapid retry of a data migration
US8825715B1 (en) * 2010-10-29 2014-09-02 Google Inc. Distributed state/mask sets
CN102073462B (zh) * 2010-11-29 2013-04-17 华为技术有限公司 虚拟存储迁移方法、系统和虚拟机监控器
US9128942B1 (en) * 2010-12-24 2015-09-08 Netapp, Inc. On-demand operations
US20120221813A1 (en) * 2011-02-28 2012-08-30 Hitachi, Ltd. Storage apparatus and method of controlling the same
EP2633385A1 (en) * 2011-03-02 2013-09-04 Hitachi, Ltd. Computer system and data migration method
US8515919B1 (en) * 2011-05-13 2013-08-20 Symantec Corporation Techniques for optimizing data migration
US9189760B2 (en) * 2012-11-19 2015-11-17 Sap Se System, method and computer readable medium for using performance indicators and predictive analysis for setting manufacturing equipment parameters
CN104021123B (zh) 2013-02-28 2017-10-31 国际商业机器公司 用于数据迁移的方法和系统
US9704118B2 (en) 2013-03-11 2017-07-11 Sap Se Predictive analytics in determining key performance indicators
CN104932986A (zh) * 2014-03-19 2015-09-23 中国移动通信集团公司 一种数据重分布方法及装置
CN105446888B (zh) * 2014-05-30 2018-10-12 华为技术有限公司 存储设备间移动数据的方法、控制器和存储系统
US20160335025A1 (en) * 2015-05-11 2016-11-17 Kaminario Technologies Ltd. Data migration system and method thereof
US10810031B2 (en) * 2015-09-28 2020-10-20 Red Hat Israel, Ltd. Dirty memory tracking with assigned devices by exitless paravirtualization
US11068172B1 (en) * 2015-09-30 2021-07-20 EMC IP Holding Company LLC Optimizing parallel data replication spanning physical storage devices
US10055166B1 (en) * 2016-06-30 2018-08-21 EMC IP Holding Company LLC Method, data storage system and computer program product for managing data copying
US10769074B2 (en) * 2017-11-09 2020-09-08 Microsoft Technology Licensing, Llc Computer memory content movement
US10459849B1 (en) * 2018-08-31 2019-10-29 Sas Institute Inc. Scheduling operations in an access-controlled region of memory
JP7193732B2 (ja) * 2019-04-08 2022-12-21 富士通株式会社 管理装置、情報処理システムおよび管理プログラム
US11221785B2 (en) 2019-12-03 2022-01-11 Western Digital Technologies, Inc. Managing replication state for deleted objects
CN113127438B (zh) * 2019-12-30 2023-07-28 北京百度网讯科技有限公司 用于存储数据的方法、装置、服务器和介质
CN111858541A (zh) * 2020-06-29 2020-10-30 广东浪潮大数据研究有限公司 一种分布式文件系统的数据迁移控制方法及相关装置
KR102405890B1 (ko) * 2020-09-28 2022-06-08 주식회사 데이타커맨드 데이터 초기 복제 방법 및 이를 수행하기 위한 컴퓨팅 장치

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0235537A (ja) * 1988-07-25 1990-02-06 Hitachi Ltd 多重化ボリューム更新制御方式
US5226159A (en) * 1989-05-15 1993-07-06 International Business Machines Corporation File lock management in a distributed data processing system
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5263154A (en) 1992-04-20 1993-11-16 International Business Machines Corporation Method and system for incremental time zero backup copying of data
JPH06119253A (ja) * 1992-10-02 1994-04-28 Toshiba Corp 二重化メモリ制御装置
JP3022011B2 (ja) * 1992-11-27 2000-03-15 三洋電機株式会社 データバックアップシステム
JP3138575B2 (ja) * 1993-09-02 2001-02-26 日本電気株式会社 フアイル複写移行方式
US5727203A (en) * 1995-03-31 1998-03-10 Sun Microsystems, Inc. Methods and apparatus for managing a database in a distributed object operating environment using persistent and transient cache
US5956712A (en) * 1995-06-07 1999-09-21 International Business Machines Corporation Byte range locking in a distributed environment
US5680640A (en) * 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
US5933653A (en) * 1996-05-31 1999-08-03 Emc Corporation Method and apparatus for mirroring data in a remote data storage system
US5822780A (en) 1996-12-31 1998-10-13 Emc Corporation Method and apparatus for hierarchical storage management for data base management systems
EP1025534B1 (en) 1997-08-20 2011-03-16 Powerquest Corporation Computer partition manipulation during imaging
US6145066A (en) 1997-11-14 2000-11-07 Amdahl Corporation Computer system with transparent data migration between storage volumes
US6260124B1 (en) 1998-08-13 2001-07-10 International Business Machines Corporation System and method for dynamically resynchronizing backup data
JP2000222258A (ja) * 1999-02-04 2000-08-11 Internatl Business Mach Corp <Ibm> データベースの構造を変更する方法、データベース・アクセス要求の制御方法、オンラインシステム、データベース運用支援ミドルウエアを格納する記憶媒体、及び、移行ユーティリティを格納する記憶媒体
IE20000203A1 (en) 1999-03-25 2001-02-21 Converge Net Technologies Inc Storage domain management system
JP4175764B2 (ja) * 2000-05-18 2008-11-05 株式会社日立製作所 計算機システム
US6546457B1 (en) 2000-09-29 2003-04-08 Emc Corporation Method and apparatus for reconfiguring striped logical devices in a disk array storage
US6502170B2 (en) 2000-12-15 2002-12-31 Intel Corporation Memory-to-memory compare/exchange instructions to support non-blocking synchronization schemes
US6745285B2 (en) * 2000-12-18 2004-06-01 Sun Microsystems, Inc. System and method for synchronizing mirrored and striped disk writes
US6799258B1 (en) * 2001-01-10 2004-09-28 Datacore Software Corporation Methods and apparatus for point-in-time volumes
US6496908B1 (en) * 2001-05-18 2002-12-17 Emc Corporation Remote mirroring
US6640291B2 (en) 2001-08-10 2003-10-28 Hitachi, Ltd. Apparatus and method for online data migration with remote copy
JP4168626B2 (ja) * 2001-12-06 2008-10-22 株式会社日立製作所 記憶装置間のファイル移行方法
US6973549B1 (en) * 2001-12-10 2005-12-06 Incipient, Inc. Locking technique for control and synchronization
US6907505B2 (en) 2002-07-31 2005-06-14 Hewlett-Packard Development Company, L.P. Immediately available, statically allocated, full-logical-unit copy with a transient, snapshot-copy-like intermediate stage
US7546482B2 (en) 2002-10-28 2009-06-09 Emc Corporation Method and apparatus for monitoring the storage of data in a computer system
US7447860B1 (en) * 2003-09-29 2008-11-04 Emc Corporation System and method for managing data associated with copying and recovery procedures in a data storage environment
JP4282464B2 (ja) * 2003-12-17 2009-06-24 株式会社日立製作所 リモートコピーシステム
US7222135B2 (en) * 2003-12-29 2007-05-22 Intel Corporation Method, system, and program for managing data migration
US7421537B2 (en) * 2004-03-22 2008-09-02 Intel Corporation Migrating data between storage volumes

Also Published As

Publication number Publication date
CN1934568A (zh) 2007-03-21
JP4738413B2 (ja) 2011-08-03
KR100962883B1 (ko) 2010-06-09
EP1754172A2 (en) 2007-02-21
CN1934568B (zh) 2012-03-28
US7613889B2 (en) 2009-11-03
JP2008502060A (ja) 2008-01-24
US20050278492A1 (en) 2005-12-15
WO2005122007A2 (en) 2005-12-22
WO2005122007A3 (en) 2006-07-13

Similar Documents

Publication Publication Date Title
KR100962883B1 (ko) 소스 데이터를 타겟 데이터로 이전하는 방법, 시스템 및제조물
US5497483A (en) Method and system for track transfer control during concurrent copy operations in a data processing storage subsystem
JP4843604B2 (ja) データ・ストレージ装置からデータ・ストレージ装置特有情報を得るための方法及びシステム
US7325112B2 (en) High-speed snapshot method
US6353878B1 (en) Remote control of backup media in a secondary storage subsystem through access to a primary storage subsystem
US6192444B1 (en) Method and system for providing additional addressable functional space on a disk for use with a virtual data storage subsystem
US6269431B1 (en) Virtual storage and block level direct access of secondary storage for recovery of backup data
US8108597B2 (en) Storage control method and system for performing backup and/or restoration
US6938136B2 (en) Method, system, and program for performing an input/output operation with respect to a logical storage device
US9086818B2 (en) Source-target relations mapping
US8024524B2 (en) Method, system, and program for an adaptor to read and write to system memory
US9720621B2 (en) Storage controller, storage system, and non-transitory computer-readable storage medium having stored therein control program
US8627011B2 (en) Managing metadata for data in a copy relationship
EP1636690B1 (en) Managing a relationship between one target volume and one source volume
US7694089B2 (en) Resource efficient remote copy pair for data retention
US20210232458A1 (en) Logical backup using a storage system
JP4713951B2 (ja) 仮想テープライブラリシステムおよび仮想テープ書き込み方法
US7047378B2 (en) Method, system, and program for managing information on relationships between target volumes and source volumes when performing adding, withdrawing, and disaster recovery operations for the relationships
US20060059188A1 (en) Operation environment associating data migration method
JP4394467B2 (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
US11164599B2 (en) Indicating tracks as erased without deleting data for the tracks
US8055868B2 (en) Apparatus and method to store original point-in-time data
JP4644446B2 (ja) 関係に関する追加動作を実行する時にターゲット・ボリュームとソース・ボリュームとの間の関係に関する情報を管理する方法、システム、およびプログラム

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
LAPS Lapse due to unpaid annual fee