KR100608274B1 - 처리중인 정보에 응하여 대용량 기억 장치를 이전 상태로 복구하는 시스템 및 방법 - Google Patents

처리중인 정보에 응하여 대용량 기억 장치를 이전 상태로 복구하는 시스템 및 방법 Download PDF

Info

Publication number
KR100608274B1
KR100608274B1 KR1020037007295A KR20037007295A KR100608274B1 KR 100608274 B1 KR100608274 B1 KR 100608274B1 KR 1020037007295 A KR1020037007295 A KR 1020037007295A KR 20037007295 A KR20037007295 A KR 20037007295A KR 100608274 B1 KR100608274 B1 KR 100608274B1
Authority
KR
South Korea
Prior art keywords
data
mass storage
storage device
stored
data block
Prior art date
Application number
KR1020037007295A
Other languages
English (en)
Other versions
KR20030063401A (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 KR20030063401A publication Critical patent/KR20030063401A/ko
Application granted granted Critical
Publication of KR100608274B1 publication Critical patent/KR100608274B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp
    • 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

Landscapes

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

Abstract

데이터 블록(20)이 손상되거나 상실됨으로써 발생되는 데이터 손실을 최소화하기 위하여, 대용량 기억 장치(12)-이에 저장될 대응 데이터 블록(20)을 포함-를 이전 순간에 존재하던 상태로 복구하는 방법. 미러링 사본 또는 백업 사본이 만들어진 후, 쓰기 요청에 따라 덮어 쓰여질 데이터 블록(40)은 덮어 쓰여지기 이전에 보존 메모리(14)에 저장된다. 보존 메모리에 저장된 데이터 블록(40)은 덮어 쓰여지는 날짜순서를 나타내기 위하여 시간 지정된다. 데이터가 손상되면, 보존 메모리의 데이터 블록(40)은 유효하고 손상되지 않은 데이터 집합을 얻을 때까지 날짜순서의 역으로 손상된 데이터에 적용된다. 이런 방법으로, 완전히 미러링된 사본 또는 백업 사본에 관한 것보다 더 최근의 데이터가 복원될 수 있다.
대용량 기억 장치, 보존 메모리, 시간 지정, 데이터 복구, 가상 장치

Description

처리중인 정보에 응하여 대용량 기억 장치를 이전 상태로 복구하는 시스템 및 방법 {RESTORING A MASS STORAGE DEVICE TO A PRIOR STATE IN RESPONSE TO PROCESSING INFORMATION}
본 발명은 컴퓨터 데이터를 백업하고 복구하는 것에 관한 것이다. 더 구체적으로, 본 발명은 인터럽트(interrupt)로 인해 손상된 컴퓨터 데이터를 복구할 때 컴퓨터 데이터의 손실을 최소화하는 시스템과 방법에 관한 것이다.
개인용 컴퓨터의 발전에 따라, 세계적으로 비즈니스는 일상적인 비즈니스 일과를 수행하는 데 컴퓨터 데이터에 의존하고 있다. 그러나, 자연 재해, 테러와 같은 여러 사건, 또는 컴퓨터 하드웨어 및/또는 소프트웨어 오류와 같은 흔한 사건이 컴퓨터 처리 중에 발생할 수 있다. 이러한 오류는 종종 컴퓨터 데이터가 손상되거나, 신뢰할 수 없거나, 심지어는 손실되게 하는 결과를 가져온다. 고객목록, 금융거래, 비즈니스 문서, 비즈니스 거래 등의 데이터의 손실 또는 상실은 시간 및/또는 금전의 대량투자 손실을 초래함으로써 비즈니스에 큰 피해를 일으킬 수 있다.
컴퓨터 데이터의 상실 또는 손실은 특히 전자상거래 세계를 황폐화시키고 있다. 인터넷은 세계 도처의 개인이 비즈니스를 전자적으로 할 수 있게 해주었으며, 이에 의해 전자 주문의 끊임없는 업로드를 가져왔다. 그러나, 주문의 모든 사본이 전자적으로 되어 있으므로 전자 컴퓨터 데이터의 손상 또는 손실은 상실된 주문에 의해 발생하는 비즈니스의 손실을 초래할 수 있다.
신뢰할 수 있는 컴퓨터 데이터의 상업적 가치를 인식한다면, 비즈니스는 데이터를 보호하는 방법과, 손상되거나, 신뢰할 수 없거나, 상실된 데이터를 복구하는 방법이 강구되어야 할 것이다. 데이터 보호 및 복원의 전통적인 접근법은 컴퓨터 데이터의 백업 사본을 생성하는 것과 관련된 것이었다. 개개의 파일 사본을 플로피 디스크에 보존하는 것은 간단한 절차지만, 데이터량이 증가함에 따라 백업 사본의 생성은 더욱 복잡하게 된다.
대용량의 컴퓨터 데이터의 백업 사본을 생성하는 가장 간단한 접근법 중의 하나는 아마도 데이터를 대용량 기억 시스템으로부터 하나 이상의 자기 테잎과 같은 기록 장치로 복사하는 것이다. 이 방법은 데이터로의 즉각적인 접속을 이용하여 대량의 컴퓨터 데이터를 저장한다. 자기 테잎은 근거리 또는 원거리에 저장되며, 데이터는 대용량 기억 시스템에 문제가 발생할 때 자기 테이프로부터 대용량 기억 시스템으로 복사된다.
데이터 손실을 보존하기 위한 기록 장치의 사용은 비교적 간단하고 저가인 장점을 가지는 한편, 또한 심각한 제한을 가진다. 그러한 제한 중 하나는 백업 사본이 생성되는 동안 그리고 데이터가 복원되는 동안 컴퓨터 데이터에 대한 사용자 접근을 방해하는 시간의 양이다. 사용자 접근의 방해는 어떤 데이터도 처리 중에 변경되지 않았음을 보장할 것이 전통적으로 요구되어 왔다. 데이터에 대한 사용자 접근불가는 바람직하지 않기 때문에, 백업 사본이 덜 자주 생성되고, 이에 의해 백업 사본에 있는 컴퓨터 데이터가 새롭지 않게 된다. 유사하게, 컴퓨터 데이터를 자기 테이프로부터 대용량 기억 시스템으로 전송하는 것도 그 컴퓨터 데이터가 파일 단위로 전송되기 때문에 매우 길어질 수 있다. 대용량 기억 장치가 원거리에 위치되고 통신망으로 접속할 수 없을 때 시간은 더 길어진다. 이러한 긴 복원 주기는 연장된 컴퓨터 접속 불가능으로 귀결되고 비즈니스는 증가된 양의 시간과 돈을 소비하게 된다.
전통적인 방법의 또 다른 제한은 백업 사본이 이전 순간에 존재하는 대로 데이터를 표현한다는 점이며, 이는 백업 사본이 원본에 가해진 이후의 변경과 일치하지 않는다는 것을 의미한다. 백업 사본의 생성은 원본이 손상되거나 상실된 경우 컴퓨터 데이터의 대부분이 회복될 수 있다는 안심을 준다. 이는 손실을 최종 백업 사본의 생성 이후에 원본에 가해진 변경만을 포함하도록 제한한다. 그러나, 어떤 비즈니스에서는 컴퓨터 데이터가 현재의 것이 아니면, 그 데이터는 효과가 없어지며, 신뢰할 수 없으며, 심지어는 사용될 수 없다. 이것은 특히 시세와 정보가 매우 자주 변하는 금융 세계에서 문제되고 있다. 그러므로, 컴퓨터 데이터가 손상되거나 상실될 때, 자주 변하는 정보에 의존하는 비즈니스는 그 가치있는 컴퓨터 데이터 모두를 상실하는 위험에 노출된다.
그러므로, 컴퓨터 오류 또는 데이터의 손상에 기인해 손실되는 컴퓨터 데이터의 양을 더 작게 할 수 있는 컴퓨터 데이터 백업 시스템과 방법을 구비하는 것은 당해 기술분야에서 진보가 될 것이다. 또한, 대용량 기억 시스템에 사용자 접근을 종료하지 않고 데이터가 백업되도록 허용하는 시스템을 구비하는 것은 당해 기술분 야에서 진보가 될 것이다.
본 발명은 컴퓨터 데이터를 백업하고 복원하는 시스템과 방법에 관한 것이다. 본 발명에 의해 데이터가 손상되거나 상실된 경우 컴퓨터 데이터가 점증식 방법으로 복원될 수 있다. 특히, 데이터가 상실되거나 손상된다면, 데이터는 유효한 데이터 집합이 얻어질 때까지 연속적인 순서의 상태를 통해 점증식으로 나아가게 될 것이다. 이런 방법으로, 데이터는 데이터의 완전히 미러링되거나 기록 보존된 사본(mirrored or archived copy)과 관련된 것보다 더 새로운 상태로 복원될 수 있다. 그러므로, 마지막의 완전한 미러링 또는 기록보존 작용 이후 발생되었던 데이터 용량에 대한 변경을 상실하는 위험 없이, 데이터 용량에 대한 완전한 미러링 또는 기록보존 작용이 덜 자주 행해져도 된다.
본 발명에 따라, 대용량 기억 장치는 다량의 데이터 블록을 시간 T0에서 저장한다. T0에서, 대용량 기억 장치에 저장되어 있는 데이터의 미러링된 사본이 만들어질 수 있고 필요한 경우 T0에서의 데이터가 편리하게 복원될 수 있도록 저장된다. 데이터의 미러링된 사본을 획득하는 것은 바람직하게는 비교적 덜 자주 수행되어야 하는, 종종 시간과 자원을 소비하는 절차이다. 미러링된 데이터 사본이 생성된 이후 및 데이터의 손실을 일으키는 잠재적인 사건 이전에 변경된 데이터를 보존하기 위하여, T0 이후에 덮어 쓰여질 데이터 블록이 보존 메모리에 저장된다. 특히, T0 이후에 특정 데이터 블록이 쓰기 작용의 일부로써 덮어 쓰여야 한다면, 원본 데이터 블록이 대용량 기억 장치에서 대체되기 전에 원본 데이터 블록의 사본이 보존 메모리에 저장된다. 또한, 보존 메모리에 저장되는 데이터 블록은 시간 지정되거나, 그렇지 않으면 쓰기 작용의 시간을 나타내거나 다른 쓰기 작용에 대하여 해당 쓰기 작용의 연대기적 위치를 나타내도록 표시된다.
쓰기 작용이 시간 T0 이후에 성공적으로 수행됨에 따라, 덮어 쓰여질 원본 데이터 블록은 결부된 시간 지정과 함께 보존 메모리에 순차적으로 저장된다. 그러므로, 덮어 쓰여지거나 T0 이후에 변경되는 데이터 블록은 보존 메모리에 보존되고 데이터 블록이 대용량 기억 장치에 덮어 쓰여진 시간 또는 순서가 지정된다.
대용량 기억 장치내의 어떤 데이터 블록이 상실되거나 손상되는 경우에, 보존 메모리에 저장된 데이터 블록은 시간 T0에 존재하는 데이터로 완전히 되돌아가지 않고 유효한 데이터 집합을 점증적으로 복구하거나 복원하기 위하여 사용될 수 있다. 만약, 예를 들어, 효력 없는 또는 손상된 데이터가 시간 T0이후에 대용량 기억 장치에 있는 어떤 데이터 블록에 쓰여진다면, 원본의 유효한 데이터 블록은 상기한 것처럼 보존 메모리에 저장된다. 보존 메모리에 저장된 데이터 블록이 대용량 기억 장치에 덮어 쓰여졌던 연대기적 순서를 특정하는 시간 지정을 사용하여, 보존 메모리내의 데이터 블록은 대용량 기억 장치에 저장된 현재의 데이터로 쓰여진다.
보존 메모리로부터의 하나 이상의 데이터 블록이 대용량 기억 장치에 역-연대기순으로 다시 쓰여진 후에, 유효한 데이터 집합이 결과적으로 대용량 기억 장치에서 획득된다. 그러므로, 보존 메모리에 저장된 데이터 블록은 데이터가 시간 T0에 존재하는 데이터로 완전히 역으로 복귀될 것을 요하지 않고 데이터를 복구하기 위해 사용된다.
본 발명에 따라, 대용량 기억 장치에 저장된 완전한 데이터 볼륨에서 수행되는 완전한 미러링 또는 획득 작용은 본 발명이 없는 상태에서 요구되는 것보다 덜 자주 수행된다는 것을 유의해야 한다. 보존 메모리에 저장된 데이터 블록은 손상된 데이터를 데이터의 가장 최근의 완전히 미러링된 사본과 관련된 것보다 더 최근의 상태로 복원하기 위하여 사용된다. 보존 메모리 내의 덮어 쓰여진 데이터 블록의 시퀀스를 저장하는 것은 일반적으로 대용량 기억 장치의 데이터에 대한 완전한 미러링 작용을 수행하는 것보다 덜 자원 집약적이라는 것을 또한 유의해야 한다. 또한, 쓰기 요청에 응하여 보존 메모리에 저장된 데이터는 전체 파일에 대립되는 작은 단편을 가지는 데이터 블록일 수 있다. 예를 들면, 대용량 기억 장치에서의 쓰기 작용에 응하여 보존 메모리에 저장된 데이터 블록은 대용량 기억 장치의 단일 섹터 또는 다른 부분 또는 세그먼트와 관련된 데이터일 수 있다. 이러한 방법으로 데이터를 보존 메모리에 저장하는 것은 쓰기 작용에 응하여 전체 파일을 복사할 필요성을 방지하며 데이터가 그 데이터와 관련된 임의의 파일 구조로부터 독립되어 보존되도록 허용한다.
본 발명의 부가적인 특징 및 장점은 다음의 상세한 설명에서 설명될 것이며, 일부는 설명으로부터 자명해 지거나 본 발명의 실시에 의해 알 수 있을 것이다. 본 발명의 특징 및 장점은 첨부된 청구범위에서 특히 지적된 기구 및 조합을 이용하여 실현되고 획득될 수 있다. 본 발명의 이러한 그리고 다른 특징은 다음의 상세한 설명 및 첨부된 청구범위로부터 보다 더 명백해 질 것이며, 또는 이하 설명되는 본 발명의 실시에 의해 알 수 있을 것이다.
도 1은 본 발명이 수행될 수 있는 관련된 대용량 기억 장치 및 보존 메모리를 갖는 컴퓨터 시스템을 나타내는 블록다이어그램;
도 2는 T0에 대용량 기억 장치에 저장된 데이터를 보여주는 도 1의 컴퓨터 시스템의 블록다이어그램;
도 3은 덮어 쓰여질 데이터 블록이 보존 메모리에 저장되는 쓰기 작용의 시퀀스를 도시하는 도면;
도 4는 데이터 손상의 경우에 대응하여 대용량 기억 장치내의 데이터가 점증적으로 복원되는 작용의 도시;
도 5는 이전에 대용량 기억 장치에 존재했던 데이터의 사본을 포함하는 것처럼 보이는 가상 장치의 작용의 도시;
도 6은 본 발명에 대한 적당한 작동 환경의 예를 나타내는 컴퓨터 시스템의 도시이다.
본 발명은 컴퓨터 데이터를 백업하고 복원하는 것에 관한 것이다. 특히, 본 발명에 의하면, 데이터가 그 데이터의 가장 최근의 완전히 미러링된 사본으로 완전히 복귀될 것을 요하지 않고 손상된 데이터가 복원될 수 있다. 데이터의 미러링된 사본이 생성되었던 시점 이후의 덮어 쓰여질 데이터블록이 보존 메모리에 저장된다. 데이터 블록은 그 데이터 블록이 덮어 쓰여진 즉, 대용량 기억 장치에 있는 원본 데이터 블록이 덮어 쓰여진 시간이나 연대기적 순서를 나타내는 시간 지정된 다른 정보와 관련된다. 일반적으로, 용어 "시간 지정(time-stamp)"은 보존 메모리에 저장된 데이터 블록의 연대기적 순서 또는 시간을 나타내는 임의의 그러한 정보를 인용한다. 보존 메모리 내의 데이터 블록은 현재의, 손상된 대용량 기억 장치내의 데이터 사본을 유효한 데이터 집합으로 복귀시키기 위하여 데이터 손상의 경우에 사용될 수 있다.
도 1은 본 발명이 실시될 수 있는 컴퓨터 시스템을 도시한다. 도 1의 컴퓨터 시스템은 컴퓨터(10), 대용량 기억 장치(12), 보존 메모리(14), 및 입출력 장치(16)를 포함한다. 컴퓨터 시스템(10)은 데이터를 관리하거나, 생성하거나, 저장하거나, 처리하는 임의의 컴퓨터 또는 다른 처리장치일 수 있다. 예를 들면, 컴퓨터(10)는 종래의 개인용 컴퓨터, 서버, 특수목적의 컴퓨터 등일 수 있다. 이하 보다 상세히 설명될 도 6은 본 발명이 실시될 수 있는 컴퓨터의 한 예의 세부적인 것을 설명한다.
대용량 기억 장치(12)는 컴퓨터(10)와 연결되고 컴퓨터(10)로부터 획득된 데이터를 저장하기 위하여 사용된다. 일반적으로, 대용량 기억 장치(12)는 쓰기 가능하고(writable), 비휘발성인 대용량 기억 장치이다. 특히, 대용량 기억 장치(12)는 종래의 개인용 컴퓨터와 연결된 하드드라이브 또는 컴퓨터(10)로부터 획득된 데이터를 저장하기 위하여 사용되는 임의의 다른 기억 매체일 수 있다.
보존 메모리(14)는 대용량 기억 장치(12)에서 덮어 쓰여질 데이터 블록이 저장되는 컴퓨터와 관련된 물리적 또는 논리적 장치이다. 보존 메모리(14)는 휘발성 장치, 예를 들어 랜덤 억세스 메모리(RAM)이거나 대용량 기억 장치(12)에서 덮어 쓰여질 데이터 블록을 저장할 수 있는 임의의 다른 장치일 수 있다. 비록 보존 메모리(14)가 도 1에서 별개의 장치인 것으로 도시되었지만, 보존 메모리는 대용량 기억 장치(12)의 일부 또는 또 다른 부분일 수 있다.
도 1에 도시된 것처럼, 컴퓨터(10)는 사용자가 컴퓨터(10)에 의해 처리되어 대용량 기억 장치(12)에 저장되어 있는 데이터를 조작할 수 있게 해주는 입출력(I/O) 장치(16)를 포함한다. 일반적으로, 컴퓨터(10)는 입출력 장치(16) 또는 사용자가 데이터를 조작할 수 있게 해주는 임의의 다른 주변 장치를 가질 수 있다. 또한, 컴퓨터(10)는 일반적으로 대용량 기억 장치(12)에 의해 만족되는 데이터 저장 요건을 갖는 응용 또는 소프트웨어를 포함한다. 그러나 일반적으로, 본 발명의 범위는 데이터를 저장하기 위한 대용량 기억 장치(12) 및 덮어쓰여진 데이터 블록을 저장하기 위한 보존 메모리(14)가 존재하는 한 실질적으로 임의의 컴퓨터와 관련 하드웨어 및 소프트웨어까지 확장될 정도로 충분히 넓다.
도 2는 시간 T0에서의 도 1의 컴퓨터 시스템을 도시하며, 이 시간에서 대용량 기억 장치(12)는 주어진 데이터를 저장하는 일 집합의 데이터 블록을 포함한다. 도 2의 예에서, 설명을 목적으로 다섯 개의 데이터 블록, 즉, 데이터 블록 A, B, C, D, E를 포함하는 대용량 기억 장치(12)가 도시된다. T0에서, 대용량 기억 장치에 저장되어 있는 데이터의 전체 볼륨의 미러링된 또는 다른 백업된 사본이 생성되고 저장된다고 가정한다. T0에서 획득된 데이터의 미러링된 또는 백업된 사본이 종래의 방법을 포함하여 원하는 방식으로 생성될 수 있다.
대용량 기억 장치(12)에 있는 데이터의 특성에 기초하여, 논리적으로 일관된 데이터를 포함하는 T0에서의 데이터의 미러링된 또는 백업된 사본을 획득하는 것이 유용할 수 있다. 이는 대용량 기억 장치(12)에 저장된 데이터가 거래를 표현할 때 특히 중요하며, 여기서 각 거래는 일련의 쓰기 연산을 요구하거나 유효하고 유용한 데이터 집합을 갖도록 일 집합의 입출력 연산이 수행될 것을 요구하는 거래이다. 거래에서 또는 입출력 연산의 또 다른 요구되는 시퀀스에서 필요한 모든 연산보다 적은 연산이 수행되었을 때 데이터는 논리적으로 일관되지 않게 된다. 그러므로, 대용량 기억 장치(12)에 저장된 데이터의 특성에 기초하여, T0에서의 데이터의 미러링된 또는 백업된 사본은 논리적으로 일관된 데이터일 필요가 있다.
T0에서의 데이터의 미러링된 또는 백업된 사본의 획득은, T0에서 대용량 기억 장치(12)에 저장된 데이터 블록 A, B, C, D, E는 데이터의 미러링된 또는 백업된 사본에 접속하는 것에 의해 간단히 복원될 수 있다. 그러나, 전술한 바와 같이, 완전한 미러링 또는 백업 작용은 종종 시간 또는 대역폭 집약적이므로, 비교적 적은 완전한 미러링 또는 백업 연산이 바람직하다. 전술한 것처럼, 그리고 이하 보다 상세히 기재될 것처럼, 본 발명은 데이터가 시간 T0으로 완전히 복귀될 것을 요하지 않고, 대용량 기억 장치(12)의 데이터가 역-연대기순으로 점증적으로 복원될 수 있도록 데이터 블록을 저장하기 위하여 보존 메모리(14)를 사용한다. 비록 대용량 기억 장치(12)의 데이터의 주기적으로 미러링되거나 백업된 사본이 종종 유용하지만, 본 발명은 또한 주기적인 미러링 또는 백업 사본 없이 보존 메모리(14)에 저장되고 있는 데이터 블록을 기초로 단독으로 실시될 수 있다.
데이터가 T0 이후에 보존 메모리에 보존되는 방식을 기술하기 위하여, 도 3은 대용량 기억 장치내의 일 집합의 데이터 블록의 특정 예와 이에 적용되는 일련의 쓰기 연산을 나타낸다. 도 3에 도시된 것처럼, T0에서 대용량 기억 장치에 저장된 데이터 블록(20)은 (A, B, C, D, E)로 지정된다. T1.0에서, 도 2의 컴퓨터(10)는 쓰기 요청을 발부하며, 이에 의해 데이터 블록(A1)(30)은 현재의 데이터 블록(A)을 덮어쓰게 되며, 결국 일 집합의 데이터 블록(20a)(A1, B, C, D, E)을 생성한다. 일반적으로, 발부된 쓰기 요청에 응하여 그리고 대용량 기억 장치내의 데이터 블록이 새로운 데이터 블록으로 덮어 쓰여지기 전에, 현재의 데이터 블록은 시간 지정과 함께 보존 메모리에 저장된다.
이 예의 경우, T1.0에서, 데이터 블록(A)은 40a에 도시된 시간 T1.0을 나타내는 시간 지정과 함께 보존 메모리에 쓰여진다. 그러므로, 비록 데이터 블록(A)이 대용량 기억 장치에서 덮어 쓰여졌더라도, 데이터 블록(A)은 이 데이터 블록이 임의의 미래 시점에서 손상된 데이터를 복구하기 위하여 필요한 경우에 대비해 보존 메모리에 저장되어 있다.
시간 T1.1에서, 데이터 블록(30b)(D1)이 대용량 기억 장치에 저장된 데이터에 쓰여지며, 결국 일 집합의 데이터 블록(20b)(A1, B, C, D1, E)을 생성한다. 쓰기 연산 전에, 덮어 쓰여질 데이터 블록(D)은 40b에 도시된 바와 같이, 시간 T1.1을 나타내는 시간 지정과 함께 보존 메모리에 저장된다.
시간 T1.2에서, 데이터 손상 경우가 발생하여, 결국 데이터 블록(30c)(Dx)은 대용량 기억 장치(12)에 저장되어 있는 데이터에 쓰여진다. 예시에서 사용된 것처럼, 첨자 "x", "y"는 손상된 데이터를 나타낸다. 데이터 손상은 실질적으로 어떤 이유도 가질 수 있으며, 예를 들어, 데이터 진입 문제, 소프트웨어 문제, 하드웨어 문제 등일 수 있다. T1.2에서의 데이터 손상은 데이터 블록 집합(20c)(A1, B, C, Dx, E)으로 귀결된다. 쓰기 연산 전에, 덮어 쓰여질 데이터 블록(D1)은 40c에 도시된 시간 T1.2를 나타내는 시간 지정과 함께 보존 메모리에 저장된다.
시간 T1.3에서, 데이터 블록(30d)(B1)은 대용량 기억 장치에 저장된 데이터에 쓰여지며, 결국 일 집합의 데이터 블록(20d)(A1, B1, C, Dx, E)을 생성한다. 쓰기 연산 전에, 덮어 쓰여질 데이터 블록(B)은 40d에 도시된 시간 T1.3을 나타내는 시간 지정과 함께 보존 메모리에 저장된다.
마지막으로, 시간 T1.4에서 또 다른 데이터 손상이 발생하여, 결국 데이터 블록(30e)(Dy)이 대용량 기억 장치에 저장되어 있는 데이터에 쓰여진다. T1.4에서의 데이터 손상은 데이터 블록 집합(20e)(A1, B1, C, Dy, E)을 생성한다. 쓰기 연산 전에, 덮어 쓰여질 데이터 블록(Dx)은 40e에 도시된 바와 같이, 시간 T1.4를 나타내는 시간 지정과 함께 보존 메모리에 저장된다.
그러므로, 시간 T1.4에서 대용량 기억 장치에 존재하는 데이터 블록(20e)은 (A1, B1, C, Dy, E)이다. 전술한 바와 같이, 데이터 블록(Dy)은 손상된 데이터를 나타내며, 이는 대용량 기억 장치에 저장되어 있는 모든 데이터를 잠재적으로 사용할 수 없게 만든다. 시간 T1.4에서, 보존 메모리도 데이터 블록(A, D, D1, B, Dx)과 대응하는 시간 지정(T1.0, T1.1, T1.2, T1.3, T1.4)을 저장했다.
데이터 손상이 T0에서 발생했으므로, 유효한 데이터 집합은, T0에서 생성되었던 전체 볼륨의 데이터의 임의의 미러링된 또는 백업된 사본을 접속함으로써 T0에서의 대용량 기억 장치에 존재하는 데이터로 완전히 복귀시켜서 얻어질 수 있다. 그러나, T0에 존재하는 데이터로 완전히 복귀시킨다면, T0 이후에 대용량 기억 장치에 쓰여진 모든 데이터는 손실될 것이다. 그러므로, 본 발명에 따르면, 데이터 손상의 경우에 대응하여 보존 메모리에 저장된 데이터 블록은, 대용량 기억 장치 내의 데이터를 도 4에 도시된 것처럼 유효하고 손상되지 않은 데이터가 존재하는 점까지 역-연대기순으로 점증적으로 복구하기 위하여 사용된다. 도 4의 시간 T2에서의 보존 메모리는 시간 T1.4에서의 보존 메모리에 존재하는 데이터 블록 집합 및 이에 대응하는 시간 지정을 포함하고 있다. 유사하게, 도 4의 시간 T2에서의 대용량 기억 장치는 도 3의 시간 T1.4에 존재했던 데이터 블록 집합(20e)(A1, B1, C, Dy, E)을 포함하고 있다.
도 4에 도시된 데이터 복구작용은 잠재적으로 손상된 데이터 블록(20e) 및 보존 메모리에 저장되어 있는 데이터 블록(40e)의 현재의 집합으로 시작된다. 시간 지정 T1.0 내지 T1.4는 이전에 대용량 기억 장치에 존재했던 데이터를 역-연대기순으로 복구하기 위하여 사용된다. 그러므로, T1.3에 존재하는 상태로 대용량 기억 장치내의 데이터 집합을 복귀(roll back)시켜서 데이터 집합(A1, B1, C, Dx, E)으로 되도록, 보존 메모리에 가장 최근에 저장되어 있는 데이터 블록(Dx)이 시간 T2에 존재하는 데이터 집합에 쓰여진다.
도 4에 도시된 대용량 기억 장치의 데이터를 복귀시키는 이러한 작용은 대용량 기억 장치에 저장된 실제 데이터 또는 그 사본을 사용하여 수행될 수 있음을 유념하여야 한다.
T1.3으로 복귀함에 있어, 컴퓨터에 의하든 수동에 의하든, T1.3의 데이터 집합(20d)은 데이터 블록 Dx가 손상되어 있다는 점에서 여전히 손상된 데이터를 나타내는 것으로 결정된다. 데이터가 손상된 채로 남아있기 때문에, 대용량 기억 장치의 데이터는 시간 지정 T1.3을 가지는 보존 메모리의 데이터 블록(B)을 사용하여 시간 T1.2로 더 복귀된다. 그러므로, T1.2에서 대용량 기억 장치의 상태를 나타내는 결과적인 데이터는 (A1, B, C, Dx, E)(20c)가 된다. 데이터 블록(20c)은 또한 손상된 데이터 블록(Dx)을 포함하기 때문에, 데이터 블록(20c) 집합이 손상된 데이터를 나타내는 것으로 결정된다. 따라서, 역-연대기순으로 다음에 존재하는 보존 메모리의 데이터 블록을 대용량 기억 장치에 있는 데이터에 씀으로써, T1.1에 대용량 기억 장치에 존재했던 상태로 데이터가 더 복귀된다. 구체적으로, 시간 지정 T1.2를 가지는 데이터 블록(D1)은 대용량 기억 장치의 데이터 블록에 쓰여지며, 결국 T1.1에 대용량 기억 장치에 존재했던 데이터를 나타내는 데이터 블록 집합(20b)(A1, B, C, D1, E)으로 된다.
이 점에서, 데이터(20b)(A1, B, C, D1, E)가 유효하고, 손상되지 않은 데이터를 나타내는 것으로 결정된다. 그러므로, 보존 메모리의 데이터 블록은 유효한 데이터 집합이 얻어질 때까지 대용량 기억 장치의 데이터 블록을 역-연대기순으로 점증적으로 복구하기 위하여 사용되어 왔다. 또한, 데이터가 T0의 미러링된 또는 백업된 사본 데이터로 완전히 복귀되었다면 복구된 데이터에 포함되지 않았을 어떤 데이터(즉, A1과 D1)를 데이터 블록(20b)(A1, B, C, D1, E)이 포함한다는 것을 유념하여야 한다. 게다가, 이 더 최근의 데이터는 T0 이후의 완전한 미러링 또는 백업 작용의 시퀀스를 요하지 않고 복구된다.
전술한 것을 고려하여, 일반적으로 데이터 복구작용은 데이터 블록이 유효하고 손상되지 않은 데이터를 나타낼 때까지, 역-연대기순인 보존 메모리의 데이터 블록을 대용량 기억 장치의 데이터블록의 현재의 사본에 적용하는 것을 포함한다.
이해될 수 있듯이, 쓰기 작용의 수가 크거나 빈번하면, 보존 메모리에 저장되는 데이터 블록의 수가 빠르게 증가할 수 있다. 그러므로, 사실상 완전한 미러링 또는 백업 작용과 보존 메모리에 저장되는 데이터 블록의 볼륨 사이에는 트레이드 오프(trade-off)가 있다. 일 실시예에서, 완전한 미러링 또는 백업 작용이 수행되는 빈도는 보존 메모리가 어떤 크기로 채워지거나 도달하는 빈도에 의해 결정된다. 다시 말해서, 보존 메모리에 저장된 데이터의 볼륨이 보존 메모리의 용량에 접근함에 따라, 완전한 미러링 또는 백업 작용이 대용량 기억 장치에서 수행된다. 이 점이 보존 메모리내의 데이터가 폐기되는 것을 가능하게 하는데, 왜냐하면 이 데이터는 대용량 기억 장치의 데이터의 보다 최근의 미러링 또는 백업 사본이 생성되었다는 사실을 고려하여 더 이상 필요가 없기 때문이다.
비록 본 발명이 데이터 손상의 경우에 응하여 역-연대기순으로 손상된 데이터를 점증적으로 복구하는 것을 참조하여 본원에 기재되어 왔지만, 본 발명의 기초적 방법에 대한 다른 사용도 존재한다. 예를 들면, 보존 메모리의 데이터 블록은 대용량 기억 장치내의 데이터를 다른 이유로 이전 상태로 복귀시키기 위하여 사용될 수 있다. 사실, 사용자가 이전에 대용량 기억 장치에 존재했던 데이터를 얻고 싶은 임의의 상황에서 사용될 수 있다.
또 다른 실시예에서, 보존 메모리에 저장되어 있는 데이터는, 미러링 또는 백업 사본의 생성 이전으로 대용량 기억 장치의 데이터를 복귀시키도록, 선택된 시점에서 존재했던 데이터의 미러링된 또는 백업된 사본과 결합된다. 도 4를 참조하여 전술한 것처럼, 대용량 기억 장치에서 덮어 쓰여지기 전에 보존 메모리에 저장된 데이터 블록은 대용량 기억 장치에 있는 데이터를 점증적으로 복귀시키기 위하여 사용될 수 있다. 그러므로, 대용량 기억 장치의 데이터의 이후의 미러링된 또는 백업된 사본 이전에 대용량 기억 장치에서 덮어 쓰여진 데이터 블록의 시퀀스를 보존 메모리가 포함하고 있다면, 보존 메모리에 있는 데이터 블록의 시퀀스는 원하는 시간으로 미러링 또는 백업 사본을 점증적으로 후진시키도록 사용될 수 있다.
본 발명은, 보존 메모리에 저장되어 있는 덮어 쓰여진 데이터를 이용하여, 이전에 대용량 기억 장치에 있었던 데이터가 접속될 수 있도록 해주는 가상 대용량 기억 장치("가상 장치")를 설정하기 위하여 사용될 수 있다. 도 5의 가상 장치(50)는, 가상 장치에 접속하는 사용자 또는 응용(즉, 데이터 접속 프로그램(60))의 관점에서 보면, 이전의 시점에 존재했던 데이터를 포함하는 것처럼 보인다. 예를 들어, 가상 장치(50)는 그 가상 장치가 도 1의 컴퓨터(10)상에 설치된 또 다른 하드 드라이브인 것처럼 운영 시스템 및 관련된 파일 시스템을 이용하여 접속될 수 있다.
가상 장치(50)가 이전의 시점에 존재했던 데이터를 접속하기 위하여 사용될 수 있는 방법의 일 예는, 도 3 및 도 4를 참조하여 전술되었던 동일한 데이터 집합을 이용하여, 도 5에 도시된다. 도 5의 예에는, 도 4를 참조하여 기재되었던 것처럼, 보존 메모리(14)에 저장되어 있는 데이터 블록(40e)을 이용하여, 대용량 기억 장치(12)에 저장된 데이터 블록(20e)을 T1.1에 존재했던 상태로 복귀시킴으로써 유효한 데이터 집합이 획득될 수 있음이 규정되어있다.
가상 장치(50)가 데이터에 접속하도록 사용될 때, 데이터 접속 프로그램(60)은 특히 대용량 기억 장치(12) 또는 보존 메모리(14)에 읽기 요청(70)을 어드레스 하는 것이 아니라, 가상 장치(50)에 읽기 요청을 발송한다. 이 예에서, 읽기 요청은, 대용량 기억 장치(12)내의 데이터 집합에 손상된 데이터 블록(Dx 및 Dy)이 도입된 데이터 손상 발생 전에 존재했던 가장 최근의 유효한 데이터 집합에 접속하기 위하여 사용된다. 전술한 것처럼, 손상된 데이터 블록(Dx 및 Dy)의 도입 직전에 존재했던 유효한 데이터 집합이 얻어질 수 있음이 규정될 수 있다. 다시 말해서, T1.2의 데이터 손상 직전인 T1.1에서의 유효한 데이터 집합이 획득될 수 있다.
이전의 손상되지 않은 상태로 존재하는 데이터에 대한 요청을 수신할 때, 가상 장치는 그 요청을 만족하는 데이터가 대용량 기억 장치(12)에서 획득될 것인지 아니면 보존 메모리(14)에서 획득될 것인지 여부를 결정한다. 만약 읽기 요청이 데이터 손상 발생시 또는 그 이후(즉, T1.2 또는 그 이후)에 보존 메모리(14)에 저장되었던 손상되지 않은 버전을 가지는 데이터 블록에 관한 것이라면, 가장 오래된 그러한 데이터 블록이 읽기 요청에 응하여 접속된다. 예를 들어, 만약 데이터 접속 프로그램(60)이 가장 최근의 유효한 데이터 집합과 관련된 "D" 위치에 있는 데이터 블록을 요청한다면, T1.2 또는 그 이후에 보존 메모리에 저장된 가장 오래된 손상되지 않은 데이터 블록을 접속함으로써 읽기 요청이 처리된다. 그러므로, 데이터 블록 "D"에 대한 요청에 응하여, 가상 장치는 도 5에서 음영으로 도시된 데이터 블록 "D1"를 접속한다. 유사한 방법으로, "B" 데이터 블록에 대한 요청은 역시 도 5에서 음영으로 도시된, 보존 메모리(14)에 저장되어 있는 데이터 블록(B)을 접속함으로써 처리된다.
그러나, 만약 읽기 요청이 데이터 손상 발생시 또는 그 이후(즉, T1.2 또는 그 이후)에 보존 메모리(14)에 저장된 손상되지 않은 버전을 가지지 않는 데이터 블록에 관한 것이라면, 대응하는 데이터 블록은 읽기 요청에 응하기 위하여 대용량 기억 장치(12)에 접속된다. 예를 들어, 위치 "A", "C", "E"에서의 데이터 블록에 대한 요청은 대용량 기억 장치(12)로부터의 대응하는 데이터 블록(A1, C, E)을 접속하여 처리되며, 이는 도 5에 음영으로 도시되어 있다. 이러한 방법으로, 데이터 접속 프로그램(60)은 가상 장치(50)에 이전의 손상되지 않은 상태에 있는 완전한 데이터 블록 집합을 요청하고, 이에 대응하여 데이터 블록 집합(A1, B, C, D1, E)을 수신할 수 있다. 가상 장치(50)는 어느 데이터를 얻을 지와, 데이터 블록을 대용량 기억 장치(12)로부터 얻을지 아니면 보존 메모리(14)로부터 얻을지 여부를 판별한다. 데이터 블록을 이용하여, 데이터 접속 프로그램(60)은 대용량 기억 장치(12), 보존 메모리(14), 또는 이에 저장된 데이터 블록의 상세한 것을 알 필요가 없으며, 대신 가상 장치(50)가 이전의 데이터 집합을 포함한 듯이 가상 장치(50)에 요청을 발부하기만 하면 된다.
일 실시예에서, 이전의 데이터 집합은 도 5를 참조하여 전술된 방식으로 복원될 수 있다. 구체적으로, 이전의 손상되지 않은 데이터 집합은 가상 장치를 설정하고 전술한 것처럼 손상되지 않은 데이터 집합을 읽음으로써 얻어질 수 있다. 그 다음, 데이터 접속 프로그램(60)은 실질적으로 임의의 사용에 대하여 필요로 될 때마다, 이전의 손상되지 않은 데이터 집합을 이용가능하게 한다.
본 발명의 실시예는 이하 보다 상세히 기재될 여러 구성요소를 포함하는 특수용도 또는 범용 컴퓨터를 포함하여 구성될 수 있는 본 발명의 범위 내에 있는 실시예는 또한 컴퓨터로 수행가능한 명령을 수행하거나 내장한 컴퓨터 판독가능한 매체 또는 이에 저장된 데이터 구조를 포함한다. 그러한 컴퓨터 판독가능한 매체는 범용 또는 특수용도 컴퓨터에 의해 접속될 수 있는 임의의 이용가능한 매체일 수 있다. 예시적인 방법이며, 한정되지 않는 것으로서, 그러한 컴퓨터 판독가능한 매체는 RAM, ROM, EEPROM, CD-ROM, 또는 다른 디스크 저장, 자기 디스크 저장 또는 다른 자기 저장 장치, 또는 원하는 부호 수단을 컴퓨터로 실행가능한 명령어 또는 데이터 구조의 형태로 수행하거나 저장하기 위하여 사용될 수 있으며, 범용 또는 특수용도의 컴퓨터에 의해 접속될 수 있는 다른 매체를 포함한다.
정보가 통신망 또는 다른 통신 연결(유선, 무선, 또는 유무선의 조합 중 어 느 하나)을 통해 컴퓨터에 전달되거나 제공될 때, 컴퓨터는 그 연결을 컴퓨터 판독가능한 매체로 적절히 간주한다. 그러므로, 임의의 그러한 연결은 컴퓨터 판독가능한 매체라고 적절히 일컬어진다. 상기의 조합 역시 컴퓨터 판독가능한 매체의 범위 내에 포함되어야 한다. 컴퓨터로 실행가능한 명령은 예를 들면, 범용 컴퓨터, 특수용도 컴퓨터, 또는 특수용도 처리장치가 어떤 기능 또는 기능군을 수행하게 하는 명령 또는 데이터를 포함한다.
도 6과 다음의 논의는 본 발명이 수행될 수 있는 적절한 컴퓨터 환경에 대한 간략하고 일반적인 기술을 제공하기 위함이다. 필요한 것은 아니지만, 본 발명은 가령 통신 환경에서 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 일반적인 의미의 컴퓨터로 실행가능한 명령으로 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정한 일을 수행하거나 특정한 추상적 데이터형을 이행하는, 루틴, 프로그램, 객체, 요소, 데이터 구조 등을 포함한다. 데이터 구조와 관련된 컴퓨터로 실행가능한 명령과 프로그램 모듈은 본원에 개시된 방법의 단계를 실행하는 프로그램 부호 수단의 예를 나타낸다. 그러한 실행가능한 명령의 특정 시퀀스 또는 관련 데이터 구조는 그러한 단계에 기재된 기능을 수행하기 위한 대응하는 행위의 예를 나타낸다.
당업자라면 본 발명이 많은 형태의 컴퓨터 시스템 구조와 함께 통신망 컴퓨터 환경에서 실시될 수 있음을 이해할 것이며, 이러한 컴퓨터 시스템에는 개인용 컴퓨터, 핸드 헬드 장치(hand held device), 이동 전화, 개인 휴대정보 단말기("PDA"), 멀티 프로세서 시스템, 마이크로프로세서-장착된 또는 프로그램가능한 소비자 전자장치, 네트워크 피씨, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하며, 도 1에 일 예가 도시되었다. 본 발명은 또한 근거리 또는 원거리 처리 장치가 (유선 링크, 무선 링크, 또는 유무선 링크의 조합 중 어느 하나에 의해서) 통신망을 통해 링크되어 있고 근거리 및 원거리 처리 장치 모두가 작업을 수행하는 분산된 컴퓨터 환경에서도 실시될 수 있다.
도 6을 참조하면, 본 발명을 수행하기 위한 예시적인 시스템은 컴퓨터(120) 형태의 범용 입력 장치를 포함하고, 상기 컴퓨터(120)는 처리 장치(121), 시스템 메모리(122), 및 시스템 버스(123)를 포함하며, 상기 시스템 버스(123)는 시스템 메모리(122)를 포함하는 여러 시스템 구성요소를 처리 장치(121)에 결합한다. 도 6에 도시된 컴퓨터(120)와 관련 구성요소는 도 1의 구성요소(10)의 더욱 상세한 설명을 나타낸다. 시스템 버스(123)는 메모리 버스나 메모리 제어기, 주변장치 버스, 그리고 여러 형태의 버스 아키텍처의 어느 것을 사용하는 로컬버스를 포함하는 다양한 형태의 버스구조 중 어느 것일 수 있다. 시스템 메모리는 리드 온리 메모리(ROM; 124)와 랜덤 억세스 메모리(RAM; 125)를 포함할 수 있다. 가령 시동 중에 컴퓨터와 요소들 사이의 정보전달을 돕는 기본 루틴을 포함하고 있는 기본 입출력 시스템(BIOS; 126)이 ROM(124)에 저장될 수 있다.
컴퓨터(120)는 자기 하드디스크(139)에서 읽고 쓰기 위한 자기 하드디스크 드라이브(127), 분리성 자기디스크(129)에 읽고 쓰기 위한 자기 디스크 드라이브(128), CD-ROM 또는 기타 광 매체와 같은 분리성 광 디스크(131)에 읽고 쓰기 위한 광 디스크 드라이브(130)를 포함할 수 있다. 자기 하드디스크 드라이브(127), 자기 디스크 드라이브(128), 및 광 디스크 드라이브(130)는 각각 하드디스크 드라이브 인터페이스(132), 자기 디스크 드라이브 인터페이스(133), 및 광 드라이브 인터페이스(134)에 의해 시스템 버스(123)에 연결된다. 드라이브들과 이들의 관련 컴퓨터 판독가능한 매체는 컴퓨터로 실행가능한 명령, 데이터 구조, 프로그램 모듈 및 다른 컴퓨터(120)용 데이터의 비휘발성 저장을 제공한다. 본원에 기재된 예시적인 환경이 자기 하드디스크(139), 분리성 자기 디스크(129) 및 분리성 광 디스크(131)를 채용하고 있지만, 데이터를 저장하기 위한 다른 형태의 컴퓨터 판독가능 매체가 사용될 수 있으며, 여기에는 자기 카세트, 플래쉬 메모리 카드, 디지털 만능 디스크, 베르누이 카트리지, RAM, ROM등이 포함된다.
하나 이상의 프로그램 모듈을 포함하여 구성되는 프로그램 부호 수단은 하드디스크(139), 자기 디스크(129), 광 디스크(131), ROM(124), 또는 RAM(125)에 저장될 수 있으며, 상기 RAM은 운영 시스템(135), 하나 이상의 응용 프로그램(136), 기타 프로그램 모듈(137), 및 프로그램 데이터(138)를 포함하고 있다. 사용자는 명령 및 정보를 키보드(140), 위치지정 도구(142), 또는 기타 입력 장치-가령, 마이크로폰, 조이스틱, 게임패드, 위성 디시(satellite dish), 스캐너 등-(비도시)을 통하여 컴퓨터(120)에 입력할 수 있다. 이러한 그리고 다른 입력장치는 종종 시스템 버스(123)에 결합된 시리얼 포트 인터페이스(146)를 통하여 처리 장치(121)에 연결된다. 대안적으로, 입력 장치는 다른 인터페이스, 가령 병렬 포트, 게임 포트 또는 유니버설 시리얼 버스(USB)에 의해 연결될 수 있다. 모니터(147) 또는 다른 디스플레이 장치도 가령 비디오 어댑터(148)와 같은 인터페이스를 경유하여 시스템 버스(123)에 연결된다. 모니터에 부가하여, 개인용 컴퓨터는 일반적으로 스피커 및 프린터와 같은 다른 주변 출력 장치(비도시)를 포함한다.
컴퓨터(120)는 원격 컴퓨터(149a 및 149b)와 같은 하나 이상의 원격 컴퓨터에 대한 논리 접속을 이용하여 통신망 형성된 환경에서 작동할 수 있다. 원격 컴퓨터(149a 및 149b) 각각은 다른 개인용 컴퓨터, 서버, 라우터, 네트워크 피씨, 대등 장치(peer device), 또는 다른 공통 통신망 노드일 수 있다. 비록 메모리 저장 장치(150a 및 150b)와 이들의 관련 응용 프로그램(136a 및 136b)만이 도 6에 도시되었지만, 원격 컴퓨터(149a 및 149b)는 컴퓨터(120)에 관련하여 전술된 구성요소의 다수 또는 모두를 포함할 수 있다. 도 6에 도시된 논리 연결은 근거리 통신망(LAN; 151)과 광역 통신망(WAN; 152)을 포함하며, 이들은 본원에 한정하는 것이 아닌 예시적 방법으로 주어진 것이다. 그러한 통신망 환경은 사무실간 또는 기업간 컴퓨터 통신망, 인트라넷, 및 인터넷에 있어서 평범한 것이다.
LAN 통신망 환경에서 사용될 때, 컴퓨터(120)는 통신망 인터페이스 어댑터(153) 또는 유사한 어댑터를 통하여 근거리 통신망(151)에 연결된다. WAN 통신망 환경에서 사용될 때, 컴퓨터(120)는 모뎀(154), 무선 링크, 또는 광역 통신망(152)을 통해 통신을 설정하기 위한 기타 수단을 포함할 수 있다. 모뎀(154)-내장형 또는 외장형일 수 있다-은 시리얼 포트 인터페이스(146)를 경유하여 시스템 버스(123)에 연결된다. 통신망 형성된 환경에서, 컴퓨터에 관하여 도시된 프로그램 모듈, 또는 그 부분은 원격 메모리 저장 장치에 저장될 수 있다. 도시된 통신망 환경은 예시적인 것이고 광역 통신망(152)을 통하여 통신을 설정하는 다른 수단이 사용될 수 있음이 이해될 수 있을 것이다.
본 발명은 본 발명의 정신 또는 필수적인 특징을 일탈함이 없이 다른 특정 형태로 구현될 수도 있다. 기재된 실시예는 모든 특징이 한정적이지 않고 예시적인 것으로써만 간주되어야 한다. 본 발명의 범위는 그러므로 전술한 기재가 아니라 첨부된 청구범위에 의해 지시된다. 청구범위의 균등물의 의미 및 범위에 드는 모든 변화는 그 범위안에 포함되어야 한다.

Claims (18)

  1. 다수의 데이터 블록을 저장하는 대용량 기억 장치를 포함하는 컴퓨터 시스템에서,
    대용량 기억 장치 내의 기존 데이터 블록을 신규 데이터 블록으로 덮어쓰도록 하는 쓰기 요청을 수신하는 단계;
    상기 쓰기 요청을 실행하기 전에, 상기 컴퓨터 시스템과 연결된 보존 메모리에 기존 데이터 블록의 사본을 저장하고, 상기 보존 메모리 내의 데이터 블록 사본과 시간 지정을 결부(associating)시키는 단계;
    상기 대용량 기억 장치에 저장된 기존 데이터 블록이 신규 데이터 블록으로 덮어 쓰여지도록 쓰기 요청을 실행하는 단계;
    상기 대용량 기억 장치의 기존 데이터 블록을 덮어쓰도록 하는 하나 이상의 쓰기 요청에 응답하여 보존 메모리 내에 기존 데이터 블록의 시퀀스를 저장하고 상기 시퀀스의 기존 데이터 블록 각각과 시간 지정을 결부시키는 단계; 및
    상기 보존 메모리 내에 저장된 데이터 블록의 시퀀스를 사용하여 상기 대용량 기억 장치에 저장된 다수의 데이터 블록들을 이전 시점에 존재하던 다수의 데이터 블록의 상태로 복구하는 단계를 포함하고,
    상기 다수의 데이터 블록은 상기 보존 메모리에 저장된 기존 데이터 블록의 시퀀스의 데이터 블록을, 대용량 기억 장치에 저장된 다수의 데이터 블록의 현재의 버전에 역-연대기순으로 적용하는 것에 의하여 복구되는 것을 특징으로 하는, 대용량 기억 장치의 이전상태가 접속될 수 있도록 하면서 데이터 블록을 업데이트하는 방법.
  2. 제1항에 있어서, 보존 메모리가 휘발성 메모리 장치를 포함하는 방법.
  3. 제1항에 있어서, 보존 메모리가 대용량 기억 장치의 일부를 구성하고 있는 방법.
  4. 제1항에 있어서, 쓰기 요청을 수신하는 단계 이전에, 대용량 기억 장치에 의해 저장된 다수의 데이터 블록의 백업 사본을 생성하는 단계를 더 포함하는 방법.
  5. 제4항에 있어서, 백업 사본을 생성하는 단계는 다수의 데이터 블록이 논리적으로 일관된 데이터를 나타낼 때 수행되는 방법.
  6. 제1항에 있어서, 보존 메모리에 의해 저장된 기존 데이터 블록의 사본을 이용하여, 대용량 기억 장치에 저장된 다수의 데이터 블록을 이 블록이 이전의 시점에 존재했던 상태로 복구하는 단계를 더 포함하는 방법.
  7. 제1항에 따른 방법이 수행되는 컴퓨터 시스템.
  8. 삭제
  9. 제1항에 있어서, 상기 다수의 데이터 블록을 복구하는 단계는 손상되지 않는 일조의 데이터가 상기 대용량 기억 장치에 획득될 때까지 계속되는 것을 특징으로 하는 방법.
  10. 삭제
  11. 제9항에 있어서, 상기 데이터 블록을 적용하는 단계는 손상되지 않는 데이터가 획득되는 때를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제1항에 있어서, 컴퓨터 시스템 내의 가상 장치로서, 상기 가상 장치가 대용량 기억 장치에 저장된 다수의 데이터 블록을 그 블록이 이전 시점에 존재했던 상태로 가지고 있는 것처럼 보이는, 가상 장치를 설정하는 단계를 더 포함하는 방법.
  13. 제12항에 있어서,
    가상 장치에서, 요청된 데이터 블록을 지정하는 읽기 요청을 수신하는 단계; 및
    읽기 요청에 응하여:
    만약 보존 메모리가 이전의 시점 또는 그 이후에 보존 메모리에 저장되었던 요청된 데이터의 손상되지 않은 버전의 사본을 포함한다며, 보존 메모리에 저장되어 있는 요청된 데이터 블록의 가장 오래된 그러한 손상되지 않은 버전을 이용하여 읽기 요청을 처리하고;
    만약 보존 메모리가 이전의 시점 또는 그 이후에 보존 메모리에 저장되었던 요청된 데이터의 손상되지 않은 버전의 상기 사본을 포함하지 않는다면, 대용량 기억 장치에 저장되어 있는 요청된 데이터 블록의 버전을 이용하여 읽기 요청을 처리하는 단계를 더 포함하는 방법.
  14. 쓰기 요청에 응하여 덮어 쓰여질 다수의 데이터 블록을 저장하는 대용량 기억 장치와;
    쓰기 요청이 처리되기 전에 덮어 쓰여질 데이터 블록의 사본을 수신하고 저장하며, 데이터 블록의 각 사본을 시간 지정과 결부시키는 보존 메모리와;
    대용량 기억 장치에 저장된 데이터 블록의 현재 버전과 보존 메모리에 있는 데이터 블록의 사본에 대한 접속을 제공하는 가상 장치로서, 이전의 시점에 존재했던 특정 데이터 블록을 지정하는 읽기 요청에 응하여, 대용량 기억 장치로부터 그 지정된 데이터 블록의 현재 버전에 접속할지 아니면 보존 메모리로부터 그 지정된 데이터 블록의 사본에 접속할지 여부를 결정하는 가상 장치를 포함하고,
    상기 보존 메모리에 저장된 데이터 블록은, 상기 보존 메모리에 저장된 기존 데이터 블록의 시퀀스의 데이터 블록을 대용량 기억 장치에 저장된 다수의 데이터 블록의 현재의 버전에 역-연대기순으로 적용하는 것에 의하여, 대용량 기억 장치에 저장된 다수의 데이터 블록들의 복구를 위하여 사용되는 것을 특징으로 하는 이전의 시점에 존재했던 데이터 블록에 대한 접속을 제공하는 컴퓨터 시스템.
  15. 제14항에 있어서, 보존 메모리가 대용량 기억 장치의 일부를 구성하는 컴퓨터 시스템.
  16. 제14항에 있어서, 데이터 접속 프로그램의 관점으로부터, 가상 장치가 이전의 시점에 대용량 기억 장치에 존재했던 데이터 블록을 가지고 있는 것처럼 보이는 컴퓨터 시스템.
  17. 제14항에 있어서, 가상 장치가 쓰기 요청에 응하여,
    만약 보존 메모리가 이전의 시점 또는 그 이후에 보존 메모리에 저장되었던 지정된 데이터 블록의 손상되지 않은 버전의 사본을 포함한다며, 보존 메모리에 저장되어 있는 지정된 데이터 블록의 가장 오래된 그러한 손상되지 않은 버전을 이용하여 읽기 요청을 처리하고;
    만약 보존 메모리가 이전의 시점 또는 그 이후에 보존 메모리에 저장되었던 지정된 데이터 블록의 손상되지 않은 버전의 상기 사본을 포함하지 않는다면, 대용량 기억 장치에 저장되어 있는 지정된 데이터 블록의 버전을 이용하여 읽기 요청을 처리하는 단계를 수행하는 컴퓨터 시스템.
  18. 제15항에 있어서, 쓰기 요청을 수신하기 전에 데이터의 백업 사본을 생성하는 수단을 더 포함하는 컴퓨터 시스템.
KR1020037007295A 2000-12-21 2001-12-21 처리중인 정보에 응하여 대용량 기억 장치를 이전 상태로 복구하는 시스템 및 방법 KR100608274B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US25749900P 2000-12-21 2000-12-21
US60/257,499 2000-12-21
US10/029,189 2001-12-20
US10/029,189 US6871271B2 (en) 2000-12-21 2001-12-20 Incrementally restoring a mass storage device to a prior state
PCT/US2001/050495 WO2002059749A1 (en) 2000-12-21 2001-12-21 Restoring a mass storage device to a prior state in response to processing information

Publications (2)

Publication Number Publication Date
KR20030063401A KR20030063401A (ko) 2003-07-28
KR100608274B1 true KR100608274B1 (ko) 2006-08-04

Family

ID=26704648

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037007295A KR100608274B1 (ko) 2000-12-21 2001-12-21 처리중인 정보에 응하여 대용량 기억 장치를 이전 상태로 복구하는 시스템 및 방법

Country Status (7)

Country Link
US (1) US6871271B2 (ko)
EP (1) EP1344134A4 (ko)
JP (1) JP2004518216A (ko)
KR (1) KR100608274B1 (ko)
CN (1) CN1230747C (ko)
CA (1) CA2432794A1 (ko)
WO (1) WO2002059749A1 (ko)

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6886160B1 (en) * 2000-11-29 2005-04-26 Hyung Sup Lee Distribution of mainframe data in the PC environment
US7149787B1 (en) * 2001-06-07 2006-12-12 Emc Corporation Apparatus and method for mirroring and restoring data
US7761449B2 (en) * 2001-08-09 2010-07-20 Hewlett-Packard Development Company, L.P. Self-disentangling data storage technique
DE60232165D1 (de) * 2001-09-28 2009-06-10 Commvault Systems Inc System und verfahren zur erzeugung und verwaltung von schnellwiederherstellungsvolumen
US7778958B2 (en) * 2002-04-11 2010-08-17 Quantum Corporation Recovery of data on a primary data volume
MXPA05003735A (es) 2002-10-07 2005-11-17 Commvault Systems Inc Sistema y metodo para manejar datos almacenados.
US7284149B1 (en) * 2002-10-16 2007-10-16 Ken Scott Fisher Intermittent connection protection for external computer devices
JP2004171206A (ja) * 2002-11-19 2004-06-17 Hitachi Ltd ストレージシステム
US7613773B2 (en) * 2002-12-31 2009-11-03 Rensselaer Polytechnic Institute Asynchronous network audio/visual collaboration system
US7769722B1 (en) 2006-12-08 2010-08-03 Emc Corporation Replication and restoration of multiple data storage object types in a data network
JP2004334434A (ja) 2003-05-06 2004-11-25 Hitachi Ltd 双方向コピー制御機能を有する記憶装置システム
US7567991B2 (en) * 2003-06-25 2009-07-28 Emc Corporation Replication of snapshot using a file system copy differential
US7117326B2 (en) * 2003-06-26 2006-10-03 Intel Corporation Tracking modifications to a memory
US7028156B1 (en) 2003-07-01 2006-04-11 Veritas Operating Corporation Use of read data tracking and caching to recover from data corruption
US7028139B1 (en) 2003-07-03 2006-04-11 Veritas Operating Corporation Application-assisted recovery from data corruption in parity RAID storage using successive re-reads
US7024527B1 (en) 2003-07-18 2006-04-04 Veritas Operating Corporation Data restore mechanism
US7047380B2 (en) * 2003-07-22 2006-05-16 Acronis Inc. System and method for using file system snapshots for online data backup
US8856927B1 (en) 2003-07-22 2014-10-07 Acronis International Gmbh System and method for using snapshots for rootkit detection
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US7836337B1 (en) * 2003-09-12 2010-11-16 Wavelink Corporation Method and system for restoration of a mobile device to its state prior to loss of standard memory
US7725760B2 (en) * 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7577807B2 (en) * 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
US7730222B2 (en) 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7287133B2 (en) 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7827362B2 (en) * 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7409587B2 (en) * 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
US7577806B2 (en) * 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7904428B2 (en) * 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7991748B2 (en) * 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7734578B2 (en) 2003-11-13 2010-06-08 Comm Vault Systems, Inc. System and method for performing integrated storage operations
CA2546304A1 (en) * 2003-11-13 2005-05-26 Commvault Systems, Inc. System and method for performing an image level snapshot and for restoring partial volume data
US20050149554A1 (en) * 2003-12-29 2005-07-07 Chong Fay Jr. One-way data mirror using write logging
US20050166022A1 (en) * 2004-01-28 2005-07-28 Hitachi, Ltd. Method and apparatus for copying and backup in storage systems
CN100455031C (zh) * 2004-02-09 2009-01-21 深圳创维-Rgb电子有限公司 一种对存储器数据进行随机处理的装置和方法
US7433899B2 (en) * 2004-03-01 2008-10-07 International Business Machines Corporation Apparatus, system, and method for managing multiple copy versions
JP2005301497A (ja) * 2004-04-08 2005-10-27 Hitachi Ltd ストレージ管理装置、リストア方法及びそのプログラム
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7143120B2 (en) * 2004-05-03 2006-11-28 Microsoft Corporation Systems and methods for automated maintenance and repair of database and file systems
US20060004890A1 (en) * 2004-06-10 2006-01-05 International Business Machines Corporation Methods and systems for providing directory services for file systems
US7620785B1 (en) * 2004-06-30 2009-11-17 Symantec Operating Corporation Using roll-forward and roll-backward logs to restore a data volume
US7831782B1 (en) * 2004-06-30 2010-11-09 Symantec Operating Corporation Roll-back log to provide data consistency
US8010759B1 (en) * 2004-06-30 2011-08-30 Symantec Operating Corporation Extent redirect
US7739464B1 (en) 2004-06-30 2010-06-15 Symantec Operating Corporation Consistent backups of data using a roll-back log
JP4477950B2 (ja) * 2004-07-07 2010-06-09 株式会社日立製作所 リモートコピーシステム及び記憶装置システム
EP1782214A4 (en) * 2004-07-23 2009-01-07 Emc Corp SUBJECT SAVING DATA DUPLICATES
US7577804B2 (en) * 2004-10-06 2009-08-18 International Business Machines Corporation Detecting data integrity
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US8959299B2 (en) 2004-11-15 2015-02-17 Commvault Systems, Inc. Using a snapshot as a data source
CN100349127C (zh) * 2004-12-03 2007-11-14 华为技术有限公司 嵌入式系统数据备份装置及方法
US8060683B2 (en) * 2004-12-17 2011-11-15 International Business Machines Corporation System, method and program to preserve a cache of a virtual machine
US7987158B2 (en) * 2005-02-09 2011-07-26 International Business Machines Corporation Method, system and article of manufacture for metadata replication and restoration
US7928591B2 (en) * 2005-02-11 2011-04-19 Wintec Industries, Inc. Apparatus and method for predetermined component placement to a target platform
US7877787B2 (en) * 2005-02-14 2011-01-25 Nokia Corporation Method and apparatus for optimal transfer of data in a wireless communications system
US9009114B1 (en) * 2005-10-31 2015-04-14 Symantec Operating Corporation Version mapped incremental backups
US7756834B2 (en) * 2005-11-03 2010-07-13 I365 Inc. Malware and spyware attack recovery system and method
US7765187B2 (en) * 2005-11-29 2010-07-27 Emc Corporation Replication of a consistency group of data storage objects from servers in a data network
US7627775B2 (en) * 2005-12-13 2009-12-01 International Business Machines Corporation Managing failures in mirrored systems
US7904425B2 (en) * 2005-12-13 2011-03-08 International Business Machines Corporation Generating backup sets to a specific point in time
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US7617262B2 (en) 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
US7606844B2 (en) * 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US7636743B2 (en) 2005-12-19 2009-12-22 Commvault Systems, Inc. Pathname translation in a data replication system
US7962709B2 (en) 2005-12-19 2011-06-14 Commvault Systems, Inc. Network redirector systems and methods for performing data replication
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US8655850B2 (en) 2005-12-19 2014-02-18 Commvault Systems, Inc. Systems and methods for resynchronizing information
EP1974296B8 (en) 2005-12-19 2016-09-21 Commvault Systems, Inc. Systems and methods for performing data replication
US7823007B2 (en) * 2006-02-17 2010-10-26 International Business Machines Corporation Apparatus, system, and method for switching a volume address association in a point-in-time copy relationship
US8495037B1 (en) * 2006-02-21 2013-07-23 Symantec Operating Corporation Efficient isolation of backup versions of data objects affected by malicious software
US20070208918A1 (en) * 2006-03-01 2007-09-06 Kenneth Harbin Method and apparatus for providing virtual machine backup
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US8244695B2 (en) 2006-09-01 2012-08-14 International Business Machines Corporation Validating stored copies of data images to load into memory
US9411976B2 (en) * 2006-12-01 2016-08-09 Maidsafe Foundation Communication system and method
US8706833B1 (en) 2006-12-08 2014-04-22 Emc Corporation Data storage server having common replication architecture for multiple storage object types
US7793148B2 (en) * 2007-01-12 2010-09-07 International Business Machines Corporation Using virtual copies in a failover and failback environment
US9597019B2 (en) * 2007-02-09 2017-03-21 Lifescan, Inc. Method of ensuring date and time on a test meter is accurate
US8290808B2 (en) * 2007-03-09 2012-10-16 Commvault Systems, Inc. System and method for automating customer-validated statement of work for a data storage environment
US8631203B2 (en) * 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
US8732417B1 (en) * 2008-10-15 2014-05-20 Symantec Corporation Techniques for creating snapshots of a target system
US8527720B2 (en) * 2008-12-03 2013-09-03 Lsi Corporation Methods of capturing and naming dynamic storage tiering configurations to support data pre-staging
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US20100262797A1 (en) * 2009-04-10 2010-10-14 PHD Virtual Technologies Virtual machine data backup
US8996826B2 (en) * 2009-04-28 2015-03-31 Symantec Corporation Techniques for system recovery using change tracking
US8918606B1 (en) * 2009-05-01 2014-12-23 Symantec Corporation Techniques for providing incremental backups
GB2483034A (en) 2009-05-13 2012-02-22 Hewlett Packard Development Co System for virtual disks version control
US8719767B2 (en) 2011-03-31 2014-05-06 Commvault Systems, Inc. Utilizing snapshots to provide builds to developer computing devices
US9092500B2 (en) 2009-09-03 2015-07-28 Commvault Systems, Inc. Utilizing snapshots for access to databases and other applications
US8433682B2 (en) * 2009-12-31 2013-04-30 Commvault Systems, Inc. Systems and methods for analyzing snapshots
CN101835067A (zh) * 2009-12-29 2010-09-15 中兴通讯股份有限公司 Ason自动备份方法、还原方法及装置
CA2783370C (en) * 2009-12-31 2016-03-15 Commvault Systems, Inc. Systems and methods for performing data management operations using snapshots
US8341457B2 (en) * 2010-03-11 2012-12-25 Lsi Corporation System and method for optimizing redundancy restoration in distributed data layout environments
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US20110252208A1 (en) * 2010-04-12 2011-10-13 Microsoft Corporation Express-full backup of a cluster shared virtual machine
US8589347B2 (en) 2010-05-28 2013-11-19 Commvault Systems, Inc. Systems and methods for performing data replication
US20120066676A1 (en) * 2010-09-09 2012-03-15 Yao Zu Dong Disabling circuitry from initiating modification, at least in part, of state-associated information
US8666944B2 (en) * 2010-09-29 2014-03-04 Symantec Corporation Method and system of performing a granular restore of a database from a differential backup
JP5762016B2 (ja) 2011-01-28 2015-08-12 キヤノン株式会社 情報処理装置、制御方法、及びプログラム
US8589019B2 (en) * 2011-05-13 2013-11-19 Qualcomm Incorporated Systems and methods for vehicle monitoring with processing interruption tolerance
CN102799598A (zh) * 2011-05-25 2012-11-28 英业达股份有限公司 重复数据删除的数据复原方法
CN102890679B (zh) * 2011-07-20 2017-05-31 中兴通讯股份有限公司 一种数据版本的处理方法及系统
CN102411523B (zh) * 2011-11-30 2014-08-20 广东威创视讯科技股份有限公司 文件备份存储方法、装置及其文件系统备份方法
US9767676B2 (en) * 2012-01-11 2017-09-19 Honeywell International Inc. Security system storage of persistent data
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
JP5991211B2 (ja) * 2012-05-25 2016-09-14 富士通株式会社 シミュレーション方法、およびシミュレーションプログラム
CN103514063B (zh) * 2012-06-21 2017-02-01 浙江大华技术股份有限公司 一种flash数据处理方法以及装置
CN103713914A (zh) * 2012-09-29 2014-04-09 鸿富锦精密工业(深圳)有限公司 数据更新系统及方法
US9430491B2 (en) 2013-01-11 2016-08-30 Commvault Systems, Inc. Request-based data synchronization management
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US20140250077A1 (en) * 2013-03-01 2014-09-04 Storagecraft Technology Corporation Deduplication vault storage seeding
KR20150081810A (ko) * 2014-01-07 2015-07-15 한국전자통신연구원 데이터 저장장치에 대한 다중 스냅샷 관리 방법 및 장치
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US10311150B2 (en) 2015-04-10 2019-06-04 Commvault Systems, Inc. Using a Unix-based file system to manage and serve clones to windows-based computing clients
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
CN106776120A (zh) * 2016-11-24 2017-05-31 珠海市魅族科技有限公司 数据恢复的方法及装置
CN109144772B (zh) * 2017-06-15 2021-03-30 北京京东尚科信息技术有限公司 备份数据库数据的方法和装置
US10776197B1 (en) * 2017-06-27 2020-09-15 EMC IP Holding Company LLC Detect and triage data integrity issue for virtual machine
US10732885B2 (en) 2018-02-14 2020-08-04 Commvault Systems, Inc. Block-level live browsing and private writable snapshots using an ISCSI server
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US20230244569A1 (en) * 2022-01-28 2023-08-03 Pure Storage, Inc. Recover Corrupted Data Through Speculative Bitflip And Cross-Validation
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)
US11656955B1 (en) 2022-03-23 2023-05-23 Bank Of America Corporation Database table valuation
US11797393B2 (en) 2022-03-23 2023-10-24 Bank Of America Corporation Table prioritization for data copy in a multi-environment setup

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4467421A (en) 1979-10-18 1984-08-21 Storage Technology Corporation Virtual storage system and method
JP2718031B2 (ja) 1987-07-17 1998-02-25 株式会社日立製作所 履歴情報取得方法
US5038278A (en) 1988-04-01 1991-08-06 Digital Equipment Corporation Cache with at least two fill rates
US5175849A (en) 1988-07-28 1992-12-29 Amdahl Corporation Capturing data of a database system
US5089958A (en) 1989-01-23 1992-02-18 Vortex Systems, Inc. Fault tolerant computer backup system
GB8915875D0 (en) 1989-07-11 1989-08-31 Intelligence Quotient United K A method of operating a data processing system
US5163148A (en) 1989-08-11 1992-11-10 Digital Equipment Corporation File backup system for producing a backup copy of a file which may be updated during backup
US5201044A (en) 1990-04-16 1993-04-06 International Business Machines Corporation Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory
US5157663A (en) 1990-09-24 1992-10-20 Novell, Inc. Fault tolerant computer system
US5426747A (en) 1991-03-22 1995-06-20 Object Design, Inc. Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system
US5408642A (en) 1991-05-24 1995-04-18 Symantec Corporation Method for recovery of a computer program infected by a computer virus
US5414850A (en) 1991-08-23 1995-05-09 Stac Electronics, Inc. System for transparently compressing data files in a computer system
US5325519A (en) * 1991-10-18 1994-06-28 Texas Microsystems, Inc. Fault tolerant computer with archival rollback capabilities
US5410667A (en) 1992-04-17 1995-04-25 Storage Technology Corporation Data record copy system for a disk drive array data storage subsystem
US5241668A (en) 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated termination and resumption in a time zero backup copy process
US5241669A (en) 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for sidefile status polling in a time zero backup copy process
US5448718A (en) 1992-04-20 1995-09-05 International Business Machines Corporation Method and system for time zero backup session security
US5241670A (en) 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated backup copy ordering in a time zero backup copy session
US5379412A (en) 1992-04-20 1995-01-03 International Business Machines Corporation Method and system for dynamic allocation of buffer storage space during backup copying
US5379398A (en) 1992-04-20 1995-01-03 International Business Machines Corporation Method and system for concurrent access during backup copying of data
US5263154A (en) 1992-04-20 1993-11-16 International Business Machines Corporation Method and system for incremental time zero backup copying of data
JPH0827754B2 (ja) 1992-05-21 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステムにおけるファイル管理方法及びファイル管理システム
US5403639A (en) 1992-09-02 1995-04-04 Storage Technology Corporation File server having snapshot application data groups
US5375232A (en) 1992-09-23 1994-12-20 International Business Machines Corporation Method and system for asynchronous pre-staging of backup copies in a data processing storage subsystem
JPH06266597A (ja) 1993-03-11 1994-09-22 Fujitsu Ltd ログ取得方式
DE69413977T2 (de) 1993-07-01 1999-03-18 Legent Corp Anordnung und verfahren zur verteilten datenverwaltung in vernetzten rechnersystemen
DK0710375T3 (da) 1993-07-19 1999-09-20 Cheyenne Advanced Tech Ltd Filsikkerhedskopieringssystem
GB2281644A (en) 1993-09-02 1995-03-08 Ibm Fault tolerant transaction-oriented data processing.
US5515502A (en) 1993-09-30 1996-05-07 Sybase, Inc. Data backup system with methods for stripe affinity backup to multiple archive devices
US5638509A (en) 1994-06-10 1997-06-10 Exabyte Corporation Data storage and protection system
US5435004A (en) 1994-07-21 1995-07-18 International Business Machines Corporation Computerized system and method for data backup
US5608684A (en) * 1994-10-13 1997-03-04 Hewlett-Packard Company System and method for RAM power and data backup utilizing a capacitor and ROM
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5649152A (en) 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
JP3136258B2 (ja) 1995-09-27 2001-02-19 三菱電機株式会社 ディスク更新ログ記録方式
US5819020A (en) 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
US5719889A (en) 1995-12-20 1998-02-17 International Business Machines Corporation Programmable parity checking and comparison circuit
US5845292A (en) 1996-12-16 1998-12-01 Lucent Technologies Inc. System and method for restoring a distributed checkpointed database
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
JPH1153235A (ja) * 1997-08-08 1999-02-26 Toshiba Corp ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム
US6131148A (en) * 1998-01-26 2000-10-10 International Business Machines Corporation Snapshot copy of a secondary volume of a PPRC pair
US6189079B1 (en) * 1998-05-22 2001-02-13 International Business Machines Corporation Data copy between peer-to-peer controllers
US6141773A (en) 1998-06-30 2000-10-31 Emc Corporation Method and apparatus for undoing changes to computer memory
US6295611B1 (en) 1998-12-14 2001-09-25 Sun Microsystems, Inc.. Method and system for software recovery
US6397307B2 (en) * 1999-02-23 2002-05-28 Legato Systems, Inc. Method and system for mirroring and archiving mass storage
US6463501B1 (en) * 1999-10-21 2002-10-08 International Business Machines Corporation Method, system and program for maintaining data consistency among updates across groups of storage areas using update times
US6625623B1 (en) * 1999-12-16 2003-09-23 Livevault Corporation Systems and methods for backing up data files

Also Published As

Publication number Publication date
KR20030063401A (ko) 2003-07-28
EP1344134A4 (en) 2008-04-02
US6871271B2 (en) 2005-03-22
CN1483164A (zh) 2004-03-17
CA2432794A1 (en) 2002-08-01
EP1344134A1 (en) 2003-09-17
US20020112134A1 (en) 2002-08-15
CN1230747C (zh) 2005-12-07
JP2004518216A (ja) 2004-06-17
WO2002059749A1 (en) 2002-08-01
WO2002059749A8 (en) 2003-03-06

Similar Documents

Publication Publication Date Title
KR100608274B1 (ko) 처리중인 정보에 응하여 대용량 기억 장치를 이전 상태로 복구하는 시스템 및 방법
US7340645B1 (en) Data management with virtual recovery mapping and backward moves
US6898688B2 (en) Data management appliance
EP1640868B1 (en) Method and system for synthetic backup and restore
US7266655B1 (en) Synthesized backup set catalog
US9558072B1 (en) Block-level incremental recovery of a storage volume
EP1461700B1 (en) Appliance for management of data replication
US8296264B1 (en) Method and system for file-level continuous data protection
US6484186B1 (en) Method for backing up consistent versions of open files
US5504883A (en) Method and apparatus for insuring recovery of file control information for secondary storage systems
US8868507B2 (en) Method and apparatus for data recovery using storage based journaling
US6665815B1 (en) Physical incremental backup using snapshots
US7398366B2 (en) Tracking incremental changes in a mass storage system
US20030131253A1 (en) Data management appliance
US20080162594A1 (en) Data storage system and process
US7620785B1 (en) Using roll-forward and roll-backward logs to restore a data volume
US7739464B1 (en) Consistent backups of data using a roll-back log
GB2350454A (en) A method of updating and/or restoring an operating system
US7036044B1 (en) Identifying appropriate undo during a forward pass through a log
US6978354B1 (en) Method for creating a virtual data copy of a volume being restored
Dudjak et al. Survey of database backup management
WO2000077641A1 (en) System and method for generating a backup copy of a storage medium
AU2002246856A1 (en) Restoring a mass storage device to a prior state in response to processing information

Legal Events

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

Payment date: 20130708

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140709

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150708

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160713

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170713

Year of fee payment: 12