TWI396973B - 用於提供虛擬卷的連續資料保護之方法和系統 - Google Patents

用於提供虛擬卷的連續資料保護之方法和系統 Download PDF

Info

Publication number
TWI396973B
TWI396973B TW099112252A TW99112252A TWI396973B TW I396973 B TWI396973 B TW I396973B TW 099112252 A TW099112252 A TW 099112252A TW 99112252 A TW99112252 A TW 99112252A TW I396973 B TWI396973 B TW I396973B
Authority
TW
Taiwan
Prior art keywords
block
virtual volume
ptvv
pit
item
Prior art date
Application number
TW099112252A
Other languages
English (en)
Other versions
TW201109926A (en
Inventor
Martin Jess
Original Assignee
Lsi Corp
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 Lsi Corp filed Critical Lsi Corp
Publication of TW201109926A publication Critical patent/TW201109926A/zh
Application granted granted Critical
Publication of TWI396973B publication Critical patent/TWI396973B/zh

Links

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

用於提供虛擬卷的連續資料保護之方法和系統
本發明係關於電子資料儲存之領域,且尤指一種利用寫入配置(allocate-on-write)快照(snapshot)以提供連續資料保護之系統及方法。
資訊技術(IT,Information Technology)的使用者係可能實行關鍵資料之備份(backup)以免於災難性的失效。於該種災難性的失效為發生之情形,備份係可利用以將關鍵資料復原至IT系統。傳統的備份係可能僅復原在備份為採取/實行之時間點的資料。若備份係根據某個時程表(例如:一天一次、一週一次、等等)而實行,此係可能意指的是:視該災難性的失效為何時發生而定,於備份媒體之關鍵資料的複本(copy)係可能為相當舊且可能需要實質附加處理以使得IT系統回到其在失效前的情況。再者,最近備份資料其本身係可能部分為連累(例如:受到病毒所感染),使用者係可能需要回復到更舊的複本(若為可用)。
是以,本揭露內容之一個實施例係針對於一種用於提供虛擬卷(volume)的連續資料保護之方法。該種方法係可包含:概念式分割虛擬卷為複數個相同尺寸塊(chunk);在一第一指定時間而保存虛擬卷的內容且禁止對於虛擬卷之直接寫入存取;建立針對於在第一指定時間之虛擬卷的一第一時間點(PiT,Point-in-Time)實例(instance),第一PiT實例係包含:一第一PiT暫時虛擬卷(PTVV,PiT Temporary Virtual Volume),其構成以儲存在第一指定時間後之對於虛擬卷的修改,其中,儲存於第一PTVV的資料係禁止被重寫;一第一重新配置表,其包括針對於虛擬卷之複數塊各者的一項目(entry),第一重新配置表係構成以提供對於虛擬卷之複數塊各者的一最近版本之讀出存取;與,一第一連續資料保護(CDP,Continuous Data Protection)記錄(log),其構成以提供對於儲存於第一PTVV之一塊的一歷史版本之讀出存取;及,當虛擬卷之複數塊的一塊為在修改時而更新第一PiT實例。
本揭露內容之再一個實施例係針對於一種用於建立虛擬卷的復原實例之方法。該種方法係可包含:接收一復原時間;識別一時間點(PiT)實例,其具有在復原時間之前的一最近建立時間;複製一識別PiT實例的一重新配置表至該復原實例的一重新配置表;及,基於識別PiT實例的一連續資料保護記錄(CDP記錄)與復原時間而更新該復原實例的重新配置表。
本發明之另一個實施例係針對於一種用於提供虛擬卷的連續資料保護之系統。該種系統係可包含:機構,用於概念式分割虛擬卷為複數個相同尺寸塊;機構,用於在一第一指定時間而保存虛擬卷的內容且禁止對於虛擬卷之直接寫入存取;機構,用於建立針對於在第一指定時間之虛擬卷的一第一時間點(PiT)實例,第一PiT實例係包含:一第一PiT暫時虛擬卷(PTVV),其構成以儲存在第一指定時間後之對於虛擬卷的修改,其中,儲存於第一PTVV的資料係禁止被重寫;一第一重新配置表,其包括針對於虛擬卷之複數塊各者的一項目,第一重新配置表係構成以提供對於虛擬卷之複數塊各者的一最近版本之讀出存取;與,一第一連續資料保護(CDP)記錄,其構成以提供對於儲存於第一PTVV之一塊的一歷史版本之讀出存取;及,機構,用於當虛擬卷之複數塊的一塊為在修改時而更新第一PiT實例。
要瞭解的是:上述的概括說明與以下詳細說明係均為僅是示範及解釋性質且不必然為限制如所主張之本發明。納入且構成此說明書的一部分之伴隨圖式係說明本發明的實施例,且連同概括說明而用以解說本發明的原理。
本發明之目前較佳實施例係將詳細論述,實例係說明於伴隨圖式。
連續資料保護(CDP)(亦習稱為連續備份或即時備份)係指電腦資料之備份,藉由自動儲存其對於該資料所作成的每個變化之一複本,本質為捕捉該使用者所建立之資料的每個版本。利用CDP係可使得使用者及/或管理者能夠復原對於一時間點的資料,視所運用的CDP之機構而定。
某些CDP機構係可利用一種快照方法,其中,關鍵的資料之一快照係自動拍攝於頻繁間隔。快照機構係可構成以捕捉僅為相對於原作之資料差異而非為建立針對於各個快照之一完整複本。快照機構亦可利用一種“滑動視窗”方法,其中,最舊的快照係當針對於一邏輯單元(LU,logical unit)所捕捉的快照之總數為達到某個臨限時而可作刪除。
本揭露內容係針對於一種用於提供一邏輯單元的連續資料保護之方法。邏輯單元係可映射至一虛擬卷,其係可概念式分割為複數個相同尺寸塊。時間點(PiT)實例係可針對於在指定時間之虛擬卷而建立。一PiT實例係可包括一PiT暫時虛擬卷(PTVV),其儲存自從此PiT為建立而對於虛擬卷所作成的變化。針對於各個PiT實例之PTVV係可構成以當此PiT實例為現用(active)(一PiT實例為現用於該PiT實例的建立時間與一後續PiT實例的建立時間之間)而儲存對於虛擬卷的所有修改。以此方式,若虛擬卷的一特定塊係當一PiT實例為現用時而更新五次,此PiT實例之PTVV係可儲存針對於此特定塊之五個版本的資料內容。於一個實施例,儲存於PTVV的資料係禁止被重寫。
一重新配置表係可由PiT實例所利用以存取虛擬卷之各塊的最近版本。一連續資料保護(CDP)記錄係可利用以提供對於其儲存於PTVV之諸塊的較舊版本之存取。以此方式,一種機構係可提供以個別寫入操作之粒度(granularity)而建立針對於過去的一特定時間之一復原實例。
參考圖1,顯示說明一種虛擬卷組態的方塊圖。於一個實施例,一邏輯單元(LU)係可映射至一儲存裝置(例如:獨立磁碟的一儲存陣列或冗餘陣列)之一虛擬卷102。部署於儲存裝置之一種儲存虛擬化管理器(SVM,Storage Virtualization Manager)係可利用以利於該種映射。虛擬卷102係可包括一或多個虛擬卷段104。各個虛擬卷段104係可代表一虛擬卷的邏輯塊位址(LBA,logical block address)範圍至一虛擬磁碟機(drive)的LBA範圍之一映射。一虛擬磁碟機係可對應於儲存裝置之一儲存配置。舉例而言,一虛擬磁碟機係可對應於一RAID卷。
參考圖2,顯示說明一種用於建立一虛擬卷的時間點(PiT)實例之快照機構的方塊圖。舉例而言,SVM係可為構成以建立針對於在一第一指定時間(例如:在上午8點)之虛擬卷202的一第一PiT實例。在上午8點之前,自一主機所發出對於虛擬卷202的寫入命令係可直接修改虛擬卷202的資料內容。然而,在上午8點,該虛擬卷的資料內容係凍結且一第一PiT暫時虛擬卷(PTVV) 206係建立以保持在上午8點的第一指定時間後之對於虛擬卷的所有變化。因此,在上午8點前之該虛擬卷的資料內容係保存為在第一PiT實例為建立時的一凍結影像208。凍結影像208係起始自上午8點而保護虛擬卷202的內容且禁止對於虛擬卷202的寫入存取。瞭解的是:用於建立該虛擬卷的PiT實例之快照機構係可對於存取該虛擬卷之主機為透通(transparent)。於上述的實例,PTVV 206與凍結影像208係可共同作為一目前虛擬卷204,其可對於存取該虛擬卷之主機為透通。
SVM係可進而構成以建立針對於在一第二指定時間(例如:在上午11點)之虛擬卷的一第二PiT實例。於此實例,在上午8點與上午11點之間所作成對於虛擬卷的變化係可保持在第一PTVV 206。在上午11點,第一PTVV 206的資料內容係凍結且一第二PTVV 212係建立而取代第一PTVV 206以保持在上午11點的第二指定時間後之對於虛擬卷的所有變化。因此,在第一指定時間所取得之原始虛擬卷的凍結影像208以外,第一PTVV 206的內容係保存為在第二PiT實例為建立時的一凍結影像214。PTVV 212、第一PTVV的凍結影像214、與原始虛擬卷的凍結影像208係可共同作為一目前虛擬卷210,其可對於存取該虛擬卷之主機為透通。
附加的PiT實例係可針對於虛擬卷而建立。各個PiT實例係可包括一新PTVV以保持在該PiT實例建立後之對於虛擬卷的變化。各個PiT實例係可具有其對於原始虛擬卷的凍結影像208與先前PTVV的凍結影像(例如:第一PTVV的凍結影像214)之讀出存取。思及的是:PiT建立時間係可為應需(on-demand)(例如:經由一命令)而指定或基於一預定時間間隔(例如:每個小時)而構成。
參考圖3,顯示由一PTVV所利用以保持對於虛擬卷的變化之一種重新配置表(RT,re-allocation table)。於一個實施例,虛擬卷的LBA範圍係可概念式分割為相等尺寸塊。諸塊的尺寸係可對應於資料復原之粒度。舉例而言,8位元組之一塊尺寸係可指出:資料復原之粒度係其寫入至虛擬卷之每8位元組的資料。
一重新配置表302係可針對於各個PiT實例而建立。於一個實施例,重新配置表302係可含有針對於虛擬卷之各塊的一項目。當一塊係在PiT實例為建立之後而由一主機所寫入,針對於此塊之於重新配置表中的對應項目係可找出且標示為“配置(allocated)”。此塊的資料內容係可置放/儲存於在下個可用的LBA之PTVV。於重新配置表302之針對於此塊的項目係可關聯(例如:經由一參考或一指標)其儲存於PTVV之該塊的資料內容。重新配置表係可追蹤其反映該塊為何時寫入/更新之針對於各個項目的一時間戳記。
於圖3所示的實例,在接收對於塊“j”的一寫入命令時,PTVV係可找出於重新配置表302之針對於塊“j”的項目且標示此項目為“配置”。PTVV係可儲存塊“j”的資料內容於其對於PTVV為可存取之下個可用LBA 304。PTVV係可進而關聯於重新配置表302之針對於塊“j”的項目與其儲存在LBA 304之塊“j”的資料內容。
對於其他塊之後續的寫入命令係可類似處置。舉例而言,在接收對於塊“i”的一寫入命令時,PTVV係可找出於重新配置表302之針對於塊“i”的項目且標示此項目為“配置”。PTVV係可儲存塊“i”的資料內容於其對於PTVV為可存取之下個可用LBA 306。PTVV係可進而關聯於重新配置表302之針對於塊“i”的項目與其儲存在LBA 306之塊“i”的資料內容。瞭解的是:置放/儲存於PTVV之諸塊的順序係可能無須為對應於原始虛擬卷之其順序。於一個實施例,於PTVV之諸塊係以如同其為寫入之順序而置放,如於圖3所示。
於一個實施例,針對於目前/現用PiT實例的一特定塊之重新配置表項目係恆為指向此特定塊(即:有效塊)之最近版本。瞭解的是:一特定塊之最近版本係可在目前PiT實例之建立前而建立/更新。即:此特定塊的資料內容係可儲存於一先前的PTVV。於重新配置表的項目與有效塊之關聯係說明於圖4。
於圖4所示的一個實例,塊“j”係可在目前PiT實例之建立後(即:於此例為在上午11點之後)而寫入。因此,塊“j”的資料內容係可儲存於目前/現用PTVV。塊“i”係可為於上午8點與上午11點之間的某個時候而最近寫入。因此,塊“i”的資料內容係可儲存於其為作用於上午8點與上午11點之間的先前PTVV,其現在為免於寫入命令而仍為可用於讀出存取。針對於目前PiT實例之重新配置表的塊“i”之項目係可因此指向其儲存於先前PTVV之塊“i”的資料內容以供讀出存取。甚者,塊“k”係可最近寫入在上午8點之前,其於此例為在第一PiT實例之建立前。因此,塊“k”的資料內容係可儲存於虛擬卷其本身,其現在為免於寫入命令而仍為可用於讀出存取。針對於目前PiT實例之重新配置表的塊“k”之項目係可因此指向其儲存於原始虛擬卷之塊“k”的資料內容以供讀出存取。
於一個實施例,一塊的資料內容(一旦為儲存於PTVV)係保護且不可為重寫。當一寫入操作係針對其為已經配置於重新配置表之一塊所處理,該塊的先前/歷史版本係保持於PTVV且該塊的新版本係儲存在於PTVV的一個新位置(例如:在下個可用的LBA)。一CDP記錄係可利用以維持及提供對於該塊的歷史版本之存取。於一個實施例,CDP記錄係可根據PiT實例而保持。CDP記錄係可利用一快速的持續記憶體(諸如:NVSRAM)、備有電池的快取記憶體、備有傾印(dump)裝置的快取記憶體、固態硬碟(SSD,Solid State Drive)、等等而施行
參考圖5,顯示CDP記錄502之例圖。於一個實施例,於重新配置表之針對於一特定塊的項目係恆為指向此特定塊之最近版本。當一寫入命令係針對於塊“i”(其已經配置於重新配置表)所處理,針對於塊“i”的更新資料內容512係儲存於在下個可用槽(slot)之PTVV,且於重新配置表510之針對於塊“i”的項目係更新以指向該更新資料內容512。針對於塊“i”的先前資料內容係可維持於PTVV,但不可為透過重新配置表而直接存取。關聯於針對於塊“i”508的先前資料內容之一新記錄504係可附加至CDP記錄502。於一個實施例,新記錄504係可包括針對於塊508的一時間戳記、對於其儲存於PTVV之塊508的資料內容之一指標(例如:針對於該塊的起始LBA)、及關於重新配置表項目之一關聯(例如:指出此CDP記錄項目為針對於塊“i”之一塊識別符、或對於重新配置表的項目之一指標)。瞭解的是:實行於PTVV與CDP記錄之操作係可對於寫入命令之發起者為透通,且寫入命令之狀態係可於作業完成時而對該發起者作報告。
同理,當一第二個寫入命令係針對於塊“i”所處理,針對於塊“i”的更新資料內容514係儲存於在下個可用槽之PTVV,且於重新配置表510之針對於塊“i”的項目係更新以指向該更新資料內容514。針對於塊“i”的先前資料內容(即:塊508與512)係均可維持於PTVV,但不可為透過重新配置表而直接存取。現存的CDP記錄項目504係可維持,且關聯於塊512之另一個CDP記錄項目506係可附加至CDP記錄502。
一個PiT實例之PTVV與CDP記錄係可共同提供一種機構,用於建立針對於在個別寫入操作之粒度的過去特定時間之一復原實例。舉例而言,使用者係可藉由指定一特定復原時間(即:過去時間)而建立一虛擬卷之一復原實例。建立的復原實例係可反映在使用者指定復原時間之虛擬卷的資料內容。
於一個實施例,在接收所指定的復原時間之時,復原機構係可識別且選擇一PiT實例,其具有在復原時間之前的一最近建立時間。舉例而言,若虛擬卷係具有在上午7點、上午8點、與上午9點所建立的PiT實例,且使用者指定的復原時間係上午8點30分,則建立在上午8點的PiT實例係將作選擇,由於其具有在上午8點30分之前的最近建立時間。
選擇的PiT實例係可利用作為用於建立復原實例之一基礎。舉例而言,復原機構係可構成以複製該選擇PiT實例的重新配置表至復原實例。復原機構係可接著為基於CDP記錄項目與指定的復原時間而更新該重新配置表且關聯自該選擇PiT實例的適當塊與復原實例。舉例而言,復原機構係可識別其為針對於虛擬卷的一特定塊所建立之CDP記錄項目。復原機構係可接著在此等CDP記錄項目之中而識別一特定記錄項目,其具有在復原時間前的最近建立時間。此特定記錄項目(可稱為復原記錄項目)係反映在復原時間之此塊的資料內容。復原機構係可找出於復原實例的重新配置表中之針對於此塊的項目,且關聯針對於此塊的項目與該復原記錄項目所關聯的資料內容。思及的是:自選擇PiT實例的適當塊之實際資料內容係可複製至復原實例。或者是,一旦自選擇PiT實例的適當塊係識別,復原實例係可運用該復原實例的CDP記錄項目而指向(例如:經由一參考或一指標)已識別的適當塊。
瞭解的是:復原機構係可針對於具有關聯於其的CDP記錄項目之其他塊而重複該過程。具有更新的重新配置表之復原實例係可反映在指定復原時間之虛擬卷內容。使用者係可具有選項以利用復原實例而建立該虛擬卷的一視圖或復原該虛擬卷至復原實例,因此改變虛擬卷內容為指定復原時間的彼等者。
思及的是:一PiT實例係可能快速成長,視於虛擬卷的I/O型態而定。舉例而言,於PTVV之同塊的多個版本係可存在,若該同塊係頻繁“重寫”。一時程表係可利用以控制一PiT實例之現用期間。舉例而言,一時程表係可指定的是:一新的PiT實例係針對於頻繁更新的虛擬卷而將為每個小時建立。於另一例,一不同的時程表係可指定的是:一新的PiT實例係針對於非頻繁更新的虛擬卷而將為每三個小時建立。
亦為思及的是:一“滑動視窗”係可利用以維持針對於一虛擬卷之某個可組態的數目的PiT實例。於該種組態,一旦該系統係達到某個數目的PiT實例,最舊PiT實例係可為移出/刪除。於一個實施例,當一PiT實例係刪除,於該PiT之對應PTVV的諸塊係重新整合為先前PiT或為虛擬卷其本身(若不具有先前PiT)。
進而思及的是:較舊PiT實例係可藉由變為一較粗時間粒度而“壓縮”。舉例而言,使用者係可為能夠建立針對於最近三天內的任何指定時間之一個復原實例。然而,若使用者係選取以建立針對於一星期前的一特定時間之一個復原實例,而不是提供準確於該特定時間之復原實例,則具有較粗粒度之復原實例係可針對於最接近的5分鐘、30分鐘、或甚至是60分鐘、等等而建立。瞭解的是:更舊的PiT實例(例如:建立於一個月前)係可更甚至壓縮為例如僅於最接近的一天。
於一個實施例,一較舊PiT實例之壓縮係可藉由刪除自該PiT(PTVV)的特定塊版本且因此將其壓縮而達成。舉例而言,在接收一粒度定義(例如:指出5分鐘或30分鐘、等等的粒度)之時,考慮針對於該PiT實例之時間粒度,CDP記錄之一經歷係可實行以確定其可為移除之塊版本。若該粒度係設定為每5分鐘且於同個5分鐘間隔內為具有塊之超過一個版本,於該5分鐘間隔內的最近版本係可保持而其他版本係可刪除。瞭解的是:該壓縮係可實行於一背景處理且可為適用於較舊PiT實例。
圖6顯示其說明由根據本揭露內容之一種連續資料保護方法600所實行的步驟之流程圖。方法600係可利用以提供虛擬卷之連續資料保護。步驟602係可概念式分割虛擬卷為複數個相同尺寸塊。步驟604係可在一第一指定時間而保存該虛擬卷的內容且禁止對於虛擬卷之直接寫入存取。步驟606係可建立針對於在第一指定時間之虛擬卷的一第一PiT實例。
第一PiT實例係可包括一第一PTVV,其構成以儲存在第一指定時間後之對於虛擬卷的修改,其中,儲存於第一PTVV的資料係禁止被重寫。第一PiT實例係亦可包括一第一重新配置表,其包括針對於虛擬卷之複數塊各者的一項目。第一重新配置表係可構成以提供對於虛擬卷之複數塊各者的一最近版本之讀出存取。第一PiT實例係可更包括一第一CDP記錄,其構成以提供對於儲存於第一PTVV之一塊的一歷史版本之讀出存取。
步驟608係可當虛擬卷之複數塊的一塊為在修改時而更新第一PTVV。思及的是:第一PiT實例係可保存在一第二指定時間,且附加的PiT實例係可建立而取代第一PiT實例以保持後續的修改。
圖7顯示其說明由根據本揭露內容之一種復原方法700所實行的步驟之流程圖。方法700係可利用以建立虛擬卷的復原實例。步驟702係可接收使用者所指定的一復原時間。步驟704係可識別其具有在復原時間之前的一最近建立時間之一PiT實例。步驟706係可複製識別PiT實例的重新配置表至復原實例的重新配置表。步驟708係可基於根據復原時間之一CDP記錄而更新該復原實例的重新配置表。
要注意的是:根據本發明之前述的實施例係可運用其根據此說明書的教義所規劃之習用的通用數位電腦而便於施行,如將為熟悉電腦技術人士所明白。適當的軟體編碼係可基於此揭露內容的教義而為由熟悉此技術的程式規劃者所易於備製,如將為熟悉軟體技術人士所明白。
要瞭解的是:本發明係可便於施行於一種套裝軟體之形式。該種套裝軟體係可為一種電腦程式產品,其運用一電腦讀出儲存媒體,該媒體係包括其為用以程式規劃電腦而實行本發明所揭露的作用與處理之儲存電腦編碼。電腦讀出媒體係可包括而不限於:任何型式的習用軟式磁碟片、光碟、CD-ROM、磁碟、硬碟機、磁光碟、ROM、RAM、EPROM、EEPROM、磁卡或光卡、或用於儲存電子指令之任何其他適合媒體。
瞭解的是:於前文揭露方法的步驟之特定順序或階層係示範方式的實例。基於設計偏好,瞭解的是:於該方法的步驟之特定順序或階層係可重新安排而維持於本發明的範疇內。隨附的方法申請專利範圍係於一取樣順序而呈現種種步驟的要素,且無意為受限制於所呈現的特定順序或階層。
相信的是:本發明與諸多其伴隨優點係將由前述說明所瞭解。亦為相信的是:將為顯而易見的是,種種變化係可為作成於其構件的形式、結構、與配置而未脫離本發明的範疇與精神或未犧牲所有其重要優點。在描述前的於此形式係僅為其一個解說的實施例,以下的申請專利範圍係意圖以涵蓋及納入該等變化。
102...虛擬卷
104...虛擬卷段
202...虛擬卷
204、210‧‧‧目前虛擬卷
206‧‧‧PiT暫時虛擬卷(PTVV)
208、214‧‧‧凍結影像
212‧‧‧第二PTVV
302‧‧‧重新配置表(RT)
304、306‧‧‧邏輯塊位址(LBA)
502‧‧‧連續資料保護(CDP)記錄
504‧‧‧CDP記錄項目
506‧‧‧另一CDP記錄項目
508‧‧‧塊“i”的資料內容
510‧‧‧重新配置表
512‧‧‧塊“i”的更新資料內容
514‧‧‧另一塊“i”的更新資料內容
600‧‧‧連續資料保護方法
602-608‧‧‧方法600的步驟
700‧‧‧復原方法
702-708‧‧‧方法700的步驟
本發明的諸多優點係藉由參考伴隨圖式而可為由熟悉此技術人士所較佳瞭解,其中:
圖1係說明一種虛擬卷組態的方塊圖;
圖2係說明一種用於建立一虛擬卷的時間點(PiT)實例之快照機構的方塊圖;
圖3係描繪由一PTVV所利用以保持對於一虛擬卷的變化之一重新配置表(RT)的圖例;
圖4係描繪於一重新配置表的項目與一虛擬卷的諸塊之關聯的圖例;
圖5係一種連續資料保護記錄的圖例;
圖6係說明根據本揭露內容的一個示範實施例之一種用於提供一邏輯單元的連續資料保護之方法的流程圖;及
圖7係說明根據本揭露內容的一個示範實施例之一種用於建立一虛擬卷的復原實例之方法的流程圖。
600...連續資料保護方法
602-608...方法600中的步驟

Claims (18)

  1. 一種用於提供虛擬卷的連續資料保護之方法,包含:分割該虛擬卷為複數個相同尺寸塊;在一第一指定時間保存該虛擬卷的內容且禁止對於該虛擬卷之直接寫入存取;建立針對於在第一指定時間之該虛擬卷的一第一時間點(PiT)實例,第一PiT實例係包含:一第一PiT暫時虛擬卷(PTVV),構成以儲存在第一指定時間後之對於該虛擬卷的修改,其中,儲存於第一PTVV的資料係禁止被重寫;一第一重新配置表,其包括針對於該虛擬卷之複數塊各者的一項目,第一重新配置表係構成以提供對於該虛擬卷之複數塊各者的一最近版本之讀出存取;與一第一連續資料保護(CDP)記錄,構成以提供對於儲存於第一PTVV之一塊的一歷史版本之讀出存取;及當該虛擬卷之複數塊的一塊為在修改時而更新第一PiT實例。
  2. 如申請專利範圍第1項之方法,其中,當該虛擬卷之複數塊的一塊為在修改時而更新第一PiT實例更包含:接收其在修改的該塊之一修改內容;儲存該修改內容於第一PTVV而未重寫其儲存於第一PTVV的現存塊; 找出於第一重新配置表之其對應於在修改的該塊之一項目;確定其對應於在修改的該塊之項目是否標示為配置;當其對應於在修改的該塊之項目係非標示為配置時而更新第一重新配置表,更包含:關聯其對應於在修改的該塊之項目與其儲存於第一PTVV的修改內容;且標示其對應於在修改的該塊之項目為配置;及當其對應於在修改的該塊之項目係標示為配置時而更新該CDP記錄與第一重新配置表,更包含:建立於該CDP記錄的一記錄項目且關聯該記錄項自與其在修改的該塊於接收該修改內容之前的一歷史內容;且關聯其對應於在修改的該塊之項目與其儲存於第一PTVV的修改內容。
  3. 如申請專利範圍第1項之方法,更包含:在第一指定時間後的一第二指定時間保存第一PiT實例的內容且禁止對於第一PiT實例之直接寫入存取;建立針對於在第二指定時間之該虛擬卷的一第二PiT實例,第二PiT實例係包含:一第二PTVV,構成以儲存在第二指定時間後之對於該虛擬卷的修改,其中,儲存於第二PTVV的資料係禁止被重寫;一第二重新配置表,其包括針對於該虛擬卷之複 數塊各者的一項目,第二重新配置表係構成以提供對於該虛擬卷之複數塊各者的一最近版本之讀出存取;與一第二CDP記錄,構成以提供對於儲存於第二PTVV之一塊的一歷史版本之讀出存取;及當該虛擬卷之複數塊的一塊為在修改時而更新第二PiT實例。
  4. 如申請專利範圍第3項之方法,其中,當該虛擬卷之複數塊的一塊為在修改時而更新第二PiT實例係更包含:接收其在修改的該塊之一修改內容;儲存該修改內容於第二PTVV而未重寫其儲存於第二PTVV的現存塊;找出於第二重新配置表之其對應於在修改的該塊之一項目;確定其對應於在修改的該塊之項目是否標示為配置;當其對應於在修改的該塊之項目係非標示為配置時而更新第二重新配置表,更包含:關聯其對應於在修改的該塊之項目與其儲存於第二PTVV的修改內容;且標示其對應於在修改的該塊之項目為配置;及當其對應於在修改的該塊之項目係標示為配置時而更新該CDP記錄與第二重新配置表,更包含:建立於該CDP記錄的一記錄項目且關聯該記錄項目與其在修改的該塊於接收該修改內容之前的一歷史 內容;且關聯其對應於在修改的該塊之項目與其儲存於第二PTVV的修改內容。
  5. 如申請專利範圍第1項之方法,更包含:接收一粒度定義;及基於該粒度定義而壓縮其儲存於一PiT實例之一PTVV的諸塊。
  6. 如申請專利範圍第1項之方法,更包含:移出一指定PiT實例;及整合該指定PiT實例之一PTVV為一先前PiT或該虛擬卷的至少一者。
  7. 如申請專利範圍第1項之方法,其中,修改該虛擬卷係當一寫入操作為實行於該虛擬卷之複數塊的一塊時而發生。
  8. 如申請專利範圍第1項之方法,其中,指定第一與第二指定時間的至少一者係利用一應需請求或一預定時間間隔的至少一者。
  9. 一種用於提供虛擬卷的連續資料保護之系統,包含:用於分割該虛擬卷為複數個相同尺寸塊的機構;用於在一第一指定時間而保存該虛擬卷的內容且禁止對於該虛擬卷之直接寫入存取的機構;用於建立針對於在第一指定時間之該虛擬卷的一第一時間點(PiT)實例的機構,第一PiT實例係包含:一第一PiT暫時虛擬卷(PTVV),構成以儲存在第 一指定時間後之對於該虛擬卷的修改,其中,儲存於第一PTVV的資料係禁止被重寫;一第一重新配置表,其包括針對於該虛擬卷之複數塊各者的一項目,第一重新配置表係構成以提供對於該虛擬卷之複數塊各者的一最近版本之讀出存取;與一第一連續資料保護(CDP)記錄,構成以提供對於儲存於第一PTVV之一塊的一歷史版本之讀出存取;及用於當該虛擬卷之複數塊的一塊為在修改時而更新第一PiT實例的機構。
  10. 如申請專利範圍第9項之系統,其中,用於當該虛擬卷之複數塊的一塊為在修改時而更新第一PiT實例的機構更包含:用於接收其在修改的該塊之一修改內容的機構;用於儲存該修改內容於第一PTVV而未重寫其儲存於第一PTVV的現存塊的機構;用於找出於第一重新配置表之其對應於在修改的該塊之一項目的機構;用於確定其對應於在修改的該塊之項目是否標示為配置的機構;用於當其對應於在修改的該塊之項目係非標示為配置時而更新第一重新配置表的機構,更包含:用於關聯其對應於在修改的該塊之項目與其儲存 於第一PTVV的修改內容的機構;與用於標示其對應於在修改的該塊之項目為配置的機構;及用於當其對應於在修改的該塊之項目係標示為配置時而更新該CDP記錄與第一重新配置表的機構,更包含:用於建立於該CDP記錄的一記錄項目且關聯該記錄項目與其在修改的該塊於接收該修改內容之前的一歷史內容的機構;與用於關聯其對應於在修改的該塊之項目與其儲存於第一PTVV的修改內容的機構。
  11. 如申請專利範圍第9項之系統,更包含:用於在第一指定時間後的一第二指定時間而保存第一PiT實例的內容且禁止對於第一PiT實例之直接寫入存取的機構;用於建立針對於在第二指定時間之該虛擬卷的一第二PiT實例的機構,第二PiT實例係包含:一第二PTVV,構成以儲存在第二指定時間後之對於該虛擬卷的修改,其中,儲存於第二PTVV的資料係禁止被重寫;一第二重新配置表,其包括針對於該虛擬卷之複數塊各者的一項目,第二重新配置表係構成以提供對於該虛擬卷之複數塊各者的一最近版本之讀出存取;與一第二CDP記錄,構成以提供對於儲存於第二 PTVV之一塊的一歷史版本之讀出存取;及用於當該虛擬卷之複數塊的一塊為在修改時而更新第二PiT實例的機構。
  12. 如申請專利範圍第11項之系統,其中,用於當該虛擬卷之複數塊的一塊為在修改時而更新第二PiT實例的機構更包含:用於接收其在修改的該塊之一修改內容的機構;用於儲存該修改內容於第二PTVV而未重寫其儲存於第二PTVV的現存塊的機構;用於找出於第二重新配置表之其對應於在修改的該塊之一項目的機構;用於確定其對應於在修改的該塊之項目是否標示為配置的機構;用於當其對應於在修改的該塊之項目係非標示為配置時而更新第二重新配置表的機構,更包含:用於關聯其對應於在修改的該塊之項目與其儲存於第二PTVV的修改內容的機構;與用於標示其對應於在修改的該塊之項目為配置的機構;及用於當其對應於在修改的該塊之項目係標示為配置時而更新該CDP記錄與第二重新配置表的機構,更包含:用於建立於該CDP記錄的一記錄項目且關聯該記錄項目與其在修改的該塊於接收該修改內容之前的一歷史內容的機構;與 用於關聯其對應於在修改的該塊之項目與其儲存於第二PTVV的修改內容的機構。
  13. 如申請專利範圍第9項之系統,更包含:用於接收一粒度定義的機構;及用於基於該粒度定義而壓縮其儲存於一PiT實例之一PTVV的諸塊的機構。
  14. 如申請專利範圍第9項之系統,更包含:用於移出一指定PiT實例的機構;及用於整合該指定PiT實例之一PTVV為一先前PiT或該虛擬卷的至少一者的機構。
  15. 如申請專利範圍第9項之系統,其中,修改該虛擬卷係當一寫入操作為實行於該虛擬卷之複數塊的一塊時而發生。
  16. 如申請專利範圍第9項之系統,其中,指定第一與第二指定時間的至少一者係利用一應需請求或一預定時間間隔的至少一者。
  17. 如申請專利範圍第9項之系統,更包含:用於接收一復原時間的機構;用於識別一PiT實例,其具有在該復原時間之前的一最近建立時間的機構;用於關聯一識別PiT實例的一重新配置表與該復原實例的一重新配置表的機構;及用於基於該識別PiT實例的一CDP記錄與該復原時間而更新該復原實例的重新配置表的機構。
  18. 如申請專利範圍第17項之系統,其中,基於該識別PiT實例的一CDP記錄與該復原時間而更新該復原實例的重新配置表的機構更包含:用於於該CDP記錄而識別其針對於該虛擬卷的一特定塊所建立的至少一個記錄項目的機構;用於在針對於該特定塊所建立的至少一個記錄項目之中而識別其具有在該復原時間前的最近建立時間之一復原記錄項目的機構;用於找出於該復原實例的重新配置表之針對於該特定塊的一項目的機構;及用於關聯於該重新配置表之該特定塊的項目與該復原記錄項目為相關的一個塊版本的機構。
TW099112252A 2009-09-01 2010-04-20 用於提供虛擬卷的連續資料保護之方法和系統 TWI396973B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/551,593 US8225146B2 (en) 2009-09-01 2009-09-01 Method for implementing continuous data protection utilizing allocate-on-write snapshots

Publications (2)

Publication Number Publication Date
TW201109926A TW201109926A (en) 2011-03-16
TWI396973B true TWI396973B (zh) 2013-05-21

Family

ID=43087058

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099112252A TWI396973B (zh) 2009-09-01 2010-04-20 用於提供虛擬卷的連續資料保護之方法和系統

Country Status (6)

Country Link
US (1) US8225146B2 (zh)
EP (1) EP2290544B1 (zh)
JP (1) JP5172892B2 (zh)
KR (1) KR101268643B1 (zh)
CN (1) CN102004681B (zh)
TW (1) TWI396973B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225146B2 (en) 2009-09-01 2012-07-17 Lsi Corporation Method for implementing continuous data protection utilizing allocate-on-write snapshots
CN102339321A (zh) * 2011-11-09 2012-02-01 上海盛霄云计算技术有限公司 具有版本控制的网络文件系统及方法
CN103403679B (zh) * 2011-12-31 2016-08-31 华为技术有限公司 易失性存储设备持久化过程中的数据更新方法及装置
KR101460452B1 (ko) * 2012-09-25 2014-11-12 주식회사 티엘아이 하이버네이션 기반 스냅샷 이미지 생성 장치 및 방법
JP5963324B2 (ja) 2014-08-11 2016-08-03 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 仮想シーケンシャルアクセスボリュームのデータのコピー方法、システム
US9558078B2 (en) * 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
CN104978279A (zh) * 2014-12-30 2015-10-14 宁波江东圣阳软件有限公司 一种基于数据块的持续数据保护方法
CN106547641B (zh) * 2015-09-17 2020-04-10 南京壹进制信息科技有限公司 一种基于卷的cdp备份方法
RU2609727C1 (ru) * 2015-09-24 2017-02-02 Федеральное Государственное Бюджетное Образовательное Учреждение Высшего Профессионального Образования "Ростовский Государственный Университет Путей Сообщения" Способ определения удаленности места повреждения контактной сети (варианты)
CN107357928B (zh) * 2017-07-26 2020-09-18 苏州浪潮智能科技有限公司 一种实现存储快照的方法和系统
CN107797888A (zh) * 2017-11-06 2018-03-13 长沙曙通信息科技有限公司 一种持续数据保护系统数据回滚实现方法
US11042503B1 (en) * 2017-11-22 2021-06-22 Amazon Technologies, Inc. Continuous data protection and restoration
US11269731B1 (en) 2017-11-22 2022-03-08 Amazon Technologies, Inc. Continuous data protection
CN108255645A (zh) * 2018-01-08 2018-07-06 长沙曙通信息科技有限公司 一种持续数据保护系统数据回滚实现方法
CN109445986A (zh) * 2018-09-30 2019-03-08 南京壹进制信息技术股份有限公司 一种备份数据集挂载方法和备份数据集快速恢复、挂载系统
CN112445805A (zh) * 2019-08-29 2021-03-05 北京国双科技有限公司 一种数据的查询方法及装置
CN111949252B (zh) * 2020-07-23 2023-09-08 网易(杭州)网络有限公司 一种数据处理方法、装置和电子设备
KR20240009187A (ko) * 2022-07-13 2024-01-22 쿠팡 주식회사 인스턴스 관리 방법 및 이를 위한 전자 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040268067A1 (en) * 2003-06-26 2004-12-30 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
TW200925887A (en) * 2007-12-14 2009-06-16 Microsoft Corp Collaborative authoring modes
TW200935218A (en) * 2007-12-13 2009-08-16 Sandisk Corp Integration of secure data transfer applications for generic IO devices

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212531B1 (en) * 1998-01-13 2001-04-03 International Business Machines Corporation Method for implementing point-in-time copy using a snapshot function
US6732125B1 (en) * 2000-09-08 2004-05-04 Storage Technology Corporation Self archiving log structured volume with intrinsic data protection
US7383381B1 (en) * 2003-02-28 2008-06-03 Sun Microsystems, Inc. Systems and methods for configuring a storage virtualization environment
US7406488B2 (en) * 2004-02-04 2008-07-29 Netapp Method and system for maintaining data in a continuous data protection system
US7653800B2 (en) * 2005-08-03 2010-01-26 International Business Machines Corporation Continuous data protection
US7836266B2 (en) * 2005-09-19 2010-11-16 International Business Machines Corporation Managing snapshot history in a data storage system
JP4749112B2 (ja) * 2005-10-07 2011-08-17 株式会社日立製作所 記憶制御システム及び方法
AU2006331932B2 (en) * 2005-12-19 2012-09-06 Commvault Systems, Inc. Systems and methods for performing data replication
US20070245107A1 (en) * 2006-04-14 2007-10-18 Hitachi, Ltd. System and method for processing a plurality kinds of event markers of a continuous data protection
US7769723B2 (en) * 2006-04-28 2010-08-03 Netapp, Inc. System and method for providing continuous data protection
JP5124989B2 (ja) * 2006-05-26 2013-01-23 日本電気株式会社 ストレージシステム及びデータ保護方法とプログラム
US20080027998A1 (en) * 2006-07-27 2008-01-31 Hitachi, Ltd. Method and apparatus of continuous data protection for NAS
GB0615779D0 (en) * 2006-08-09 2006-09-20 Ibm Storage management system with integrated continuous data protection and remote copy
US20080091744A1 (en) * 2006-10-11 2008-04-17 Hidehisa Shitomi Method and apparatus for indexing and searching data in a storage system
US7711712B2 (en) * 2007-03-12 2010-05-04 Hitachi, Ltd. System and method for managing consistency among volumes based on application information
JP4906562B2 (ja) * 2007-04-02 2012-03-28 株式会社日立製作所 ストレージ装置及びボリューム復元方法
US20080281876A1 (en) * 2007-05-10 2008-11-13 Hitachi, Ltd. Methods and apparatus to recover data and configuration of storage system
JP4972457B2 (ja) * 2007-05-11 2012-07-11 株式会社日立製作所 記憶制御装置、記憶制御装置の制御方法及び情報処理システム
US8225146B2 (en) 2009-09-01 2012-07-17 Lsi Corporation Method for implementing continuous data protection utilizing allocate-on-write snapshots

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040268067A1 (en) * 2003-06-26 2004-12-30 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
TW200935218A (en) * 2007-12-13 2009-08-16 Sandisk Corp Integration of secure data transfer applications for generic IO devices
TW200925887A (en) * 2007-12-14 2009-06-16 Microsoft Corp Collaborative authoring modes

Also Published As

Publication number Publication date
KR20110025053A (ko) 2011-03-09
JP2011054153A (ja) 2011-03-17
CN102004681B (zh) 2014-09-24
KR101268643B1 (ko) 2013-05-29
JP5172892B2 (ja) 2013-03-27
US8225146B2 (en) 2012-07-17
EP2290544A1 (en) 2011-03-02
CN102004681A (zh) 2011-04-06
TW201109926A (en) 2011-03-16
US20110055624A1 (en) 2011-03-03
EP2290544B1 (en) 2013-03-27

Similar Documents

Publication Publication Date Title
TWI396973B (zh) 用於提供虛擬卷的連續資料保護之方法和系統
US20220139455A1 (en) Solid state drive architectures
US10762039B2 (en) Backup and restoration for storage system
US8296264B1 (en) Method and system for file-level continuous data protection
US8037032B2 (en) Managing backups using virtual machines
US8095852B2 (en) Data recorder
US9606875B2 (en) Migration of computer data
US8117410B2 (en) Tracking block-level changes using snapshots
US8150851B2 (en) Data processing apparatus and method of processing data
US8732417B1 (en) Techniques for creating snapshots of a target system
US7383465B1 (en) Undoable volume using write logging
US20070208918A1 (en) Method and apparatus for providing virtual machine backup
US7849257B1 (en) Method and apparatus for storing and retrieving data
US8818950B2 (en) Method and apparatus for localized protected imaging of a file system
TW201619971A (zh) 耦合至主機dram之綠能與非固態硬碟(nand ssd)驅動器、gnsd應用程式及其操作方法和電腦系統主機、增加非揮發快閃記憶儲存器耐久性之方法
WO2012079432A1 (zh) 快照方法和固态硬盘
US7152147B2 (en) Storage control system and storage control method
KR100775141B1 (ko) 저널링이 적용된 fat 파일 시스템의 구현 방법

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees