TWI353536B - Virtualized storage computer system and method of - Google Patents
Virtualized storage computer system and method of Download PDFInfo
- Publication number
- TWI353536B TWI353536B TW096102873A TW96102873A TWI353536B TW I353536 B TWI353536 B TW I353536B TW 096102873 A TW096102873 A TW 096102873A TW 96102873 A TW96102873 A TW 96102873A TW I353536 B TWI353536 B TW I353536B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- bas
- computer system
- bat
- snapshot
- Prior art date
Links
- 238000003860 storage Methods 0.000 title claims description 159
- 238000000034 method Methods 0.000 title claims description 72
- 238000011956 best available technology Methods 0.000 claims description 109
- 238000004891 communication Methods 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 26
- 238000005516 engineering process Methods 0.000 claims description 13
- 241000288673 Chiroptera Species 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 4
- 230000008901 benefit Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000010926 purge Methods 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 claims 2
- 238000009966 trimming Methods 0.000 claims 2
- 210000000941 bile Anatomy 0.000 claims 1
- 210000004556 brain Anatomy 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 15
- 238000011084 recovery Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 8
- 239000000463 material Substances 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 206010000210 abortion Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
1353536 九、發明說明: 【發明所屬之技術領域】 . 本發明係有關於儲存系統中資料儲存之技術,如磁碟陣列 儲存系統,更待別地,係有關於使用資料快照(snapshot)拷貝技 _ 術之儲存系統中快照資料的管理。 •二 【先前技術】 資料儲存與資料安全在資訊發達的現今愈來愈重要,也因 此在儲存媒體的技術上有許多的發展,其一應運而生者為 ▼ RAID ( Redundant Array of Inexpensive/Independent Disks,磁 碟陣列)。磁碟陣列的優點為提供更好的資料儲存效能與資料 錯誤容忍度(Fault Tolerance ),透過將工作量平行分散到多個 實體磁碟機中可以達到較好的效能,藉由資料多重操作,當一 ' 個或多個磁碟機或磁區發生問題時,可以藉由其他的磁碟機重 * 建資料,達到錯誤容忍度。 在目前的儲存系統中,各種技巧係被使用,”快照 (snapshot)”為其中之一。一般而言,所謂快照卷 鲁 (Snapshot-Volume)係指的是基卷(Base-Volume)或資料源卷 ' (Source-Volume)在某一特定時間點之狀態,因此,快照卷可說 ) 為備份影像,即基卷(Source-Volume)之快照。 快照一般會搭配寫入複製程序(copy-on-write),即快照只 有在資料有寫入(更新)時才會複製寫入目標資料區塊内的原始 資料至快照影像(Snapshot-Image)區,而非複製整個基卷的資 料,因而,每個時點其快照卷係由所對應之快照影像以及基卷 内未複製於該快照影像内的資料區塊所組成。 請參閱圖1A〜1C ’其中圖1A係顯示形成一快照卷-A之 5 1353536 時點之基卷的狀態。圖IB,顯示在其後基卷中資料區塊 (0&1&-81〇^〇212,218,216係被更新,因而在進行更新前其内原 . 始存放之DATA-B,DATA-E和DATA-D等資料將先複製於快照 影像#A中,其餘未被更新之資料則無須複製。亦即,快照卷 -A係由快照影像#A以及基卷中未曾複製至快照影像#A之資 料區塊210,214所組成,使顯示出圖1A中當時基卷之資料狀 • ·· 態。接著圖1C係顯示形成快照卷-B之時點,且形成後基卷之 資料區塊214,2丨2被更新的情況。在進行資料區塊214之寫入 複製程序時,此資料區塊214内之資料DATA_C需複製至快照 • 影像#A及快照影像#B。而資料區塊212,因先前已曾進行過 寫入複製程序將資料複製於快照影像#八,請注意,雖然當時所 存放之資料係為DATA-B,但此時係僅需將資料區塊212現存 之DATA-G複製於快照影像#]5中即可。因而,此時快照卷_A 係由快照影像#A以及基卷内未複製於該快照影像#A内的資料 ♦ 區塊210所組成,以呈現如圖1A中當時基卷之資料狀態。而 I"共,.、、卷B則由快照影像以及基卷内未複製於該快照影像 #B内的資料區塊210, 216,218所組成,以呈現如圖ib中當時 φ 基卷之資料狀態。 、· 由前述可知,每個時點快照卷係由該時點之快照影像以及 基卷未複製於該時點快照影像之資料區塊所組成,故在進行資 料寫入柄作時,需先將該資料區塊之資料複製於”所有,,未複製 過該資料區塊之快照影像内’意即,&了最新的快照影像外亦 須往前逐一對舊快照影像進行查核,以決定需對那些快照影像 進行寫入複製程序,相當複雜且繁瑣。且,當所設定或啟動快 照之時點越多,所存放之快照將越發魔大,此將引發儲存空間 不足以及官理上的問題。因此,如何有效管理快照儲存空間以 6 1353536 提高其工作效率,已成為業者目前重要的課題之一。 另外,在目前具有快照功能的儲存系統中所使用的通訊協 . 定,皆僅能使用單一種硬碟,而有或是硬碟品質或效能雖高但 一 價格亦高,或是硬碟價格雖便宜但品質或效能較差的問題。例 如,小型電腦系統介面(SCSI)的磁碟機品質雖高但價格亦高, 而串列先進技術接取介面(SATA)雖便宜但品質較差)。然而在儲 •- 存系統中,資料源卷為經常使用的儲存空間,快照卷則為儲存 ' ·4 備份的儲存空間因而使用頻率較低。若能將資料源卷存放在高 • 品質或高效能的硬碟中,且將快照卷存放在品質或效能較差的 硬碟中,則可降低系統價格且對系統的品質或效能影響不大。 但疋,若為了要達成同時可使用兩種不同通訊協定的硬碟的目 的而在儲存系統中配置兩種不同的通訊協定介面的話,又會大 +W增加系統的設計及製造成本。因此,如何有效管理快照儲存 空間’同時考慮成本與效能問題,亦為業者目前重要的課題之 【發明内容】 II於前述,本發明之目的係在於能有效率地運用快照儲存 空間》 爲達本發明之目的,本發明係提供一種管理資料快照影像 之方法’係包含有:建置一區段分配系統,係包括至少一媒體 區’於該媒體區中建置一區段分配表及一區塊關聯集,該區段 分配表係包括記載指向該區塊關聯集之資訊的欄位,該區塊關 聯集係與一資料源卷相對應,為對該資料源卷進行快照備份之 基礎;於該區塊關聯集中建置一區塊關聯表,該區塊關聯表係 用以儲存交互參考資訊以與具有原始儲存位置之備份資料相 7 1353536
對應;以及當該資料源卷令資料被更新時,係將更新前之資料 複製至該區塊關聯集之中D 另外本發月亦提供—種健存虛擬化電腦系統,包含:一 主機單元以發送輸出人要求;以及—外部儲存虛擬化控制器, 係耗接至該主機單元以執行輸出人操作來回應於該輸出入要 求;以及至少-個實體儲存裝置_),其每一個係經由一串 列附接小型電腦系統介面(SeHal At⑽ed隨)連結耦接至該 儲存虛擬化控制⑦,以經由該儲存虛擬化控制器提供資料健存 空間給該儲存虛擬化電财;其中該外部儲存虛擬化控制器 係執行-快照功能,使得以保存該等實㈣存裝置所構成之至 少一資料源卷於一特定時跸之資料狀態。 此外’本發明更提供一種具有資料快照影像管理之儲存虛 擬化電腦錢,其可配置單—種硬碟通㈣定介面並使用兩種 不同品質或效能的硬碟,以將資料源卷存放在第一種硬碟中, 且將快照卷存放在第二種硬碟巾,以在對儲存线的品質及效 能影響不大的情況下,達成降低成本的目的。 【實施方式】 圖2顯示一根據本發明包含一儲存虛擬化子系統以及儲存 虛擬化控制器之實施例之一主要結構之方塊圖。根據本發明之 系統包含一主機電腦10和一連接其上儲存虛擬化子系統 (Storage Virtualizati〇n Subsystem) 20。雖然圖 2 僅例示一個主 機10與一儲存虛擬化子系統2〇連接,但亦可有多個儲存虛擬 化子系統20附接於主機1〇;或者,多個主機1〇附接於儲存虛 擬化子系統20 ;或者,多個主機1〇附接於多個儲存虛擬化子 系統20。 g 1353536 其中’主機ίο可為一伺服系統,一工作站,或者一個人 電腦系統,或諸如此類。另,主機10亦可為另一儲存虛擬化 • 控制益。儲存虛擬化子系統20包含一儲存虛擬化控制器 (Storage Virtualization Controller; SVC) 200,其可為一磁碟陣 列控制器或一僅是一捆碟(Just a Bundle of Disks, JB0D)模擬 器,以及一直接存取儲存裝置陣列400。此處雖僅描述一直接 ' 存取儲存裝置陣列400,多個直接存取儲存裝置陣列400亦可 ▲ 附接於儲存虛擬化控制器200 » 儲存虛擬化控制器200接收來自主機10的輸出入要求與 • 相關資料(控制訊號奐資料訊號·)並在内部執行輸出入訊號或映 射其等至直接存取儲存裝置陣列400。直接存取儲存裝置陣列 400包含複數個直接存取儲存裝置(direct access storage devices, DASD) 410,例如硬碟。 在本發明之一實施例中此儲存虛擬化控制器2〇〇係為一串 列附接小型電腦系統介面(Serial Attached SCSI)儲存虛擬化控 制器,意即一遵照串列附接小型電腦系統介面協定實行之一儲 存虛擬化控制器,請參閱第16圖。第16圖顯示—根據本發明 • 儲存虛擬化控制器200以及其對主機和直接存取儲存裝置之連 -* 接之一第一實施例之一方塊圖。本實施例中,該儲存虛擬化控 、 制器200包含一主機端輸出入裝置連結控制器220、一中央處 理電路(CPC) 240、一記憶體280、以及一串列附接小型電腦系 統介面(Serial Attached SCSI)輸出入裝置連結控制器(或裝置端 輸出入裝置連結控制器)300。雖然敘述為獨立的功能性方塊, 在實際施行中,兩個或多個甚至全部所有的功能性方塊可統合 為一晶片。該串列附接小型電腦系統介面輸出入裝置連結控制 器300為連接至該中央處理電路240與該直接存取儲存裝置陣 9 1353536 列400之裝置端輪出入裝置連結控制器。該串列附接小型電腦 系,介面輸出入裝置連結控制器則為—介於該儲存虛擬化控 制器200與該直接存取儲存裝置陣列4〇〇間之介面及緩衝器^ 並接收從該中央處理電路24G發送之輸“要求與相關資料且 映射且/或傳送其等至該直接存取儲存裝置陣列4⑼。 而直接存取儲存裝置陣列4〇〇可包含串列附接小型電腦系 統介面直接存取儲存裝置或串列先進技術接取介面⑽直 接存取儲存裝置之其一或兩種兼具。 囚而
尽贫月钕供一種具有資料快照影像管理之儲存虛擬 化電腦系統400,其可利用配置於單一種輸出入裝置連結控制 器(串列附接小型電腦系統介面(SeHal她⑽scsi)輸出入 裝置連結控制器)於該儲存纽化控制器中,而可以使用兩 種不同品質或效能的硬碟(串列附接小型電腦系統介面硬碟及 串列先進技術接取介面硬碟),以將資料源卷存放在第一種硬碟 (宰列附接小型電腦系統介面硬碟)中,且將快照卷存放在該第 -種硬碟(串列先進技術接取介面硬碟)中;藉此,可不需全部 使用同-種硬碟 '然而在儲存系統中,資料源卷為經常使用的 儲^間’其被存取的頻率非f之高,若使用品質較高的硬碟 可提冋資料的可利用性(availabUity);反之,快照卷則為儲存備 份的儲存空間’故其使用頻率較低,若使用品質較低的硬碟對 1、的5^曰不大因為硬碟的品質是在相同的使用頻率下依其 壽命的長短而定。又且,力棘六么从山 ^ 、 认糾各 在儲存系統中,貧料源卷為經常使用 可接古子空間,其被存取的頻率非常之高,若使用效能較佳硬碟 0门糸、先的存取效此,反之,快照卷則為儲存備份的儲存空 1故其使用頻率較低,若使用效能較低的硬碟對系統的存取 效能影響不大。由於市場定位的不同,串列附接小型電腦系統 I353536 介面硬碟係m較佳且效純高的硬碟(當然價格也較 尚),而串列先進技術接取介面硬碟則為—種品f較差且效能較 低的硬碟(價格較低)。
是故,當在具有快照功能的儲存系統中,使用兩種不同品 質或效能的硬碟’可以在對儲存系統的品質及效能影響不大的 情況下’達成降低成本的目的。但是1為了要達成同時可使 二兩種不同通訊協定的硬碟的目的而必須該儲存虛擬化控制 器200中配置兩種不同的通訊協定介面控制器的話,又會大幅 增加系統的設計及製造成本。因此,本發明在此—實施例中採 用串列附接小型電腦系統介面(Serial杨㈤scsi)輸出入裝 置連結㈣作為裝置端輸出人裝置連結控制器,可以有 效達成利用單-通訊協定的介面控制器而與可同時使用兩種 不同通訊協定的硬碟’且不會大幅增加系統的設計及製造成本 的目的。 ‘ 3戈者,在另一實施例中,儲存虛擬化子系統係為一冗餘儲 存虛擬化子线,請參閱第17圖。圖17顯示—根據本發明儲 存虛擬化控制器200以及其對主機、一第二儲存虛擬化控制器 籲 _、和直接存取儲存裝置之連接之—第一實施例之一方塊 、.圖。本實施例中,該儲存虛擬化控制器200包含一主機端輸出 ·、 入裝置連結控制器220、一 t央處理電路(CPC) 24〇、一記憶體 280、-串列附接小型電腦系統介面(SAS,SeHai她心§⑶) 輸出入裝置連結控制器(或裝置端輸出入裝置連結控制器) 300 '以及一冗餘控制器通聯連結控制器卜以仙如加⑶加⑺ communicating (RCC) interco_ct __丨岣—。雖然敘述為 獨立的功能性方塊,在實際施行中,兩個或多個甚至全部所有 的功能性方塊可統合為一晶片。 1353536 該冗餘控制器通聯連結控制器236係實作於儲存虛擬化控 制器200中以使該中央處理電路240連接至一第二儲存虛擬化 控制器800。此外,該串列附接小型電腦系統介面輸出入裝置 連結控制器300係透過一擴展電路340而連接到該直接存取儲 存裝置陣列400。該擴展電路340也連接至該第二儲存虛擬化 ’ 控制器800。 ·. 為了能靈活地分配與釋放媒體區塊段,本發明係採用一區 段分配系統(Section Allocation System,以下將簡稱為SAS)來
W 進行管理快照卷(Snapshot-Volume)之操作。 0 請參閱圖3,係為SAS之一實施例示意圖。SAS係為一類 似檔案系統(file-system-like)結構,可包含一或多個媒體區 (Media Extent),這些媒體區係由將一或多個作為媒體區段供應 者(media section providers)之邏輯卷磁碟/分割區 /(Logical-Volumes-Drives/Partition)格式化而形成。 ‘圖4A,4B係為SAS之一實施例架構圖,其中每個媒體區 係包含其自己的區段分配表(Section Allocation Table),以下簡 稱為SAT,以及一節點表(Inode Table)(圖中未示)。其中該節點 φ 表(Inode Table)係用以記錄檔案内容存放位置的資訊,即檔案 .- 内容的指向(pointer),使系統可以透過inode正確的去取得檔案 、 的内容。此SAS和其所屬之每個媒體區係有一用來識別目標 (object)之唯一識別符(ID)。 SAS尚包含有一或多個區塊關聯集(Block Association Set),以下簡稱為BAS,係進行時間點(point-in-time ;簡寫為 PIT)備份(backup)之基礎。每個BAS包含一個區段目錄(section list),在此處稱為SAS檔案(SAS file),且亦滿足於被格式化為 一類似檔案系統結構。 12 1353536 區塊關聯表(Block Association Tables),以下簡稱BAT,係 儲存在此BAS之中。BAT係用以儲存交互參考資訊以與具有原 始儲存位置(LBA)之備份資料相對應,亦即每個BAT内係記錄 有指向其所對應之PIT快照影像(Snapshot Image)之資訊。而備 份資料(快照影像)亦儲存於此BAS之中。 於本實施例中,SAT係包含有:屬性區塊(Attribute Block),係用以記載此區段分配系統識別符(SAS ID)與媒體區 識別符(Media Extent ID);文件表(Folder Table),用以記載指 向每個BAS之資訊以及每個BAS其所關聯的資料源卷 (Source-Volume)資訊;曰諸、(Journal)棚位,係存放運作曰諸, 以供系統發生錯誤或斷電情事時可供回復(recovery)之用;描述 資料(Metadata)欄位,用以儲存管理SAT的描述資料 (metadata)。上述之實施例係採用曰誌·式標案系統方式進行,然 而,本技術領域之具有通常知識者當能理解,實際上,日誌欄 位係為可選擇而非為必要之項目,在本發明之其他實施例中係 可省略之。
而每個BAS係包含屬性區塊(Attribute Block),用以記載 此BAS ID、BAS大小以及BAS相關設定等資訊;目錄(directory) 攔位,記載BAT級數(level)以及已建置BAT之數量;曰誌 (Journal)欄位,係存放運作日誌,以供系統發生錯誤或斷電情 事時可供復原(recovery)之用;文件表(Folder Table),用以儲存 BAT ;以及資料區,係用以存放快照影像。如前所述,其中日 誌欄位係為可選擇而非必要之項目。除此之外,在此實施例 中,係採用對BAT進行總量管制之設計’故設有目錄欄位用以 記載BAT級數,即BAT可建置的數量,以利進行控管,但在 本發明之其他實施例中,此欄位係可省略之,例如:只對BAS 13 1353536 可用空間進行總量管制設計之實施例。 一般而言,建立一邏輯媒體(logical media;如邏輯磁碟機 (LD)/邏輯卷(LV)/分割(Partition))之PIT備份之第一步驟即是 在一獨立可用的邏輯媒體上建置SAS。接著,BAS應被建置、 安裝及映射至一或多個主機通道之ID/LUNs。最後,當來到從 事PIT備份之時間點時,一相對應之BAT應被建置並且接著將 其設定為BAS中現役的BAT(active BAT)。 請參閱圖5A,係描繪對一資料源卷1進行PIT備份之例。 其中狀態300描繪此資料源卷1。假設系統欲對資料源卷1 進行PIT備份,首先,需建置SAS,亦即將一可用的媒體區登 記為SAS之用,如狀態310所示,在此媒體區上係建置有一 SAT,其中此SAT之屬性區塊係儲存有此SAS ID以及此媒體 區ID。接著,建置相對應資料源卷1之BAS#1,請參閱狀態 320,其中SAT之文件表中係儲存有指向BAS #1儲存位置之資 訊以及BAS #1所相對應之資料源卷1資訊,再者BAS #1之 屬性區塊係儲存有此BAS #1 ID以及目錄内儲存有BAT級數 (Level)(此例中係設為1024)。繼而,建置BAT#1,如狀態330, 將資料區域(Data Area)之一段空間登記作為快照影像#1之 用,在BAS #1之文件表中建置BAT #1,此BAT #1係儲存有 指向快照影像#1儲存位置之資訊以及建置此BAT #1的時間 資訊(即PIT備份之時間點資訊),並且將此BAT #1設為現役的 BAT ° 請續參閱圖5B,假設在BAT #1服役期間,資料源卷1中 之資料區塊(DataBlock)212, 218, 216 中的 DATA-B,DATA-E 及 DATE-D係分別先後進行資料更新為DATA-G,DATA-H及 DATD-I,則在進行更新寫入前,係會先將原本資料區塊内的資 14 比 3536 料進行寫入複製(COPy_on_write)程序, 料P跑·Β,DATA^ DATE_D)及各資料^所不’將資 的資圄由抖原先館存位置(LBA) 的貝訊(圖中未不)先寫入快照影像#1之中,而在 ^像#1係可成長使用資料區域中未使用的部份,亦即,舍 =登記作為快晴#1之用之空間不足時,可在資“ 域中尋找未使用(閒置)之空間來串接人快照影像#1中以供資 枓寫入之用。因此,此PIT備份之快照卷係由寫入至快照影像 #1内貝料與資料源卷丨中尚未進行過寫人複製程序之資料區 塊210, 214所構成。 、
v 接著,若對資料源卷!啟動產生第二ριτ備份,則須建置 ΒΑΤ #2,狀態334即描繪建置ΒΑΤ #2後且更新資料源卷i之 資料區塊214, 212。此時由於已存在有SAS且其中有Bas #ι 係伺服於資料源卷卜因而無須再建置新SAS與新BAs,而是 將BAS #1之資料區域之一段空間登記作為快照影像之 用’並在BAS #1之文件表中建置BAT #2即可。此Bat #2係 儲存有指向快照影像#2儲存位置之資訊以及建置此BAT #2 的時間資訊(即PIT備份之時間點資訊),而後將B Ατ #丨停止以 及將此BAT #2設為現役的bat^續而,當資料源卷丨内有任 何資料更新發生時,所進行之寫入複製程序係將被更新之原始 負料複製至快照影像#2内,如狀態334中即以資料區塊214, 212被更新為DATA-J及DATA-K為例。請注意,於本實施例 中,首次更新之資料區塊214内之原始資料DATA-C,並無需 複製至快照影像# 1内。此時,對資料源卷1而言,該第二ΡΙΤ 備份之快照卷係由寫入至快照影像#2内資料與資料源卷1中 未將資料複製至快照影像#2之資料區塊(210, 216, 218)所構 成。然而,第一 PIT備份之快照卷除包含所對應ΒΑΤ #1指向 15 1353536 之快照影像#ι内之所有資料區塊以及資料源卷1中從未進行 過寫入複製程序之資料區塊(210),另外,由於可能有部份BAT # 1服役期間並未更新而存於資料源卷1内的資料,在BAT #2 服役期間被更新而複製於快照影像#2内,如此例中的資料區 塊214,因而,第一 PIT備份份之快照卷尚應包含快照影像#2 内資料區塊240。亦即,第一 PIT備份之Snsphot Volume除了 包含BAT #1所指向之快照影像#1内之所有資料區塊以及資 料源卷1中從未更新過之資料區塊,尚可能包括BAT #2所指 向的快照影像#2内之部份或全部的資料區塊(端看BAT #2服 役期間資料源卷1之資料更新狀況而定)。 由前可知,當一資料源卷有一個以上(如η個)的PIT備份 被建置時,則每個PIT備份有其相對應之BAT #m (IS η)。 然除了現役的ΒΑΤ #η所對應之PIT備份快照卷僅與資料源卷 及所對應之快照影像#n相關外,其他的PIT備份之快照卷 (Snapshot-Volume)係與資料源卷、所對應之BAT #m之快照影 像,以及其後所建置之BAT #m+l〜η之快照影像有所關聯。 請參閱圖5C,假設卷管理者(Volume Manager)欲對資料源 卷2(如狀態340)進行PIT備份,則由於此時SAS已被建置, 因而建置一對應於此資料源卷2之BAS #2即可。請參閱狀態 342,首先,卷管理者(Volume Manager)尋求SAS内一閒置空間 將其登記為BAS #2之用,並且在SAT内之文件表中係儲存有 指向BAS #2儲存位置之資訊以及BAS #2所相對應之資料源卷 2資訊,再者BAS #2之屬性區塊係儲存有此BAS #2 ID以及目 錄内儲存有BAT級數(此例中係設為512。繼而,建置BAT #1, 將BAS #2之資料區域之一段空間登記作為快照影像#1之 用,在BAS #2之文件表中建置BAT # 1,此BAT # 1係儲存有 16 1353536 指向快照影像#1儲存位置之資訊以及建置此BAT #1的時間 資訊(即PIT備份之時間點資訊),並且將此BAT #1設為現役的 BAT。 觀前述,本實施例中,對每一資料源卷係各有一相對應之 BAS,而利用存於SAT之指向去指向該BAS。而將該資料源卷 之各PIT備份之影像(Image)皆分派存於所對應之BAS。接著, 各B AS中對每一 PIT備份係具有一相對應之BAT,利用BAT 去指向快照影像,且在進行寫入複製程序時,僅需將資料寫入 現役的BAT所指向之快照影像中即可,而無需將其複製於該 B AS中其他已建立之快照影像之中,可有效減少所需儲存空間 以及寫入複製程序。 前述已描述SAS之架構,現係對如何建置SAT等流程進 一步描述之。首先,前有提及,當要建立一邏輯媒體之PIT備 份之第一步驟即是在一獨立可用的邏輯媒體上建置S AS。但是 除此之外,實際運作時,系統亦可能在尚未須對某一(些)特定 的邏輯媒體要進行PIT備份前即先行啟動快照功能(function)而 使之待命。然而,不管何時一旦當快照功能被啟動(可能是接收 到Host端或監控單元的啟動指令,亦或可能係由控制器自身因 某些原因而啟動),卷管理者係會建立SAS。請配合參閱圖6, 為建置SAS之一實施例流程圖。啟動建立SAS機制後,首先, 係先取得控制器所連結而可供控制器存取之邏輯媒體(Logical Media)資訊,並且查核邏輯媒體之狀態,以尋求可供進行快照 之用的儲存空間(步驟602,604),若無可用空間,則中止建立(步 驟606),且若啟動係由Host端或監控單元所致動的話係回傳 失敗訊息,反之,若有可供使用之有效儲存空間,則建立SAS 物件(SAS Object)(步驟608),係將可用的一或多個用以伺服媒 17 1353536 體區段供應者之Logical-Volumes-Drives/Partition格式化以形 成媒體區,並將該媒體區標註為快照之用,另於該媒體區中建 立一 SAT,將SAS ID與媒體區ID存於SAT之屬性區塊欄位 中。進而配置SAS(步驟610)。 於本發明之一實施例中,係允許延伸SAS之儲存空間,使 當原本預設為SAS之儲存空間不足或其他原因時得由使用者 啟動延伸機制。請續參閱圖7,其係與圖6相似。首先,仍需 先取得控制器所連結而可供控制器存取之邏輯媒體(Logical Media)資訊,並且查核邏輯媒體之狀態(步驟702, 704),以尋求 可用的儲存空間,若無,則中止延伸(步驟706),並產生一失敗 訊息,令使用者獲悉,反之,若有可供使用之有效儲存空間, 則延伸 SAS 物件(步驟 708), 將可用之 Logical-Volumes-Drives/Partition格式化而建立媒體區,並將此 作為延伸之用的媒體區登記為SAS之用,並於此媒體區中建立 相對應此媒體區之SAT,而將SAS ID與此新增延伸之用的媒 體區ID存於屬性區塊攔位中,且將舊的媒體區之節點表中記 載指向此新建立之媒體區。進而配置SAS(步驟710)。在此實 施例中,由於不同的媒體區存在於不同的logical-volume上, 為考量系統運作時之效能,因此採用每個媒體區有一個自己的 SAT的方式。但本技術領域之具有通常知識者將能理解,在本 發明之另一實施例中,可採用包含多個媒體區之SAS可僅設有 一 SAT之設計。另外,請注意,此處雖以使用者啟動此延伸機 制為例,但本技術領域之具有通常知識者當能理解,本發明將 不受限於此,亦可採用系統因應某些狀況而自動啟動延伸機 制,其後將會描述一種自動延伸的樣態。 接著,請參閱圖8,係為本發明中建置BAS之一實施例流 18 1353536 程圖。當欲對某一資料源卷進行快照時,卷管理者係會建立相 對應該資料源卷的BAS。首先,取得SAS之資訊(步驟802)。 接著,查核BAS之儲備空間設定(reserved space setting)(步驟 804),若當此BAS之儲備空間所設定的尺寸大於SAS目前閒 置空間(free space),將無法建置BAS,因此中止此建置程序(步 驟806)。當若BAS之儲備空間尺寸小於SAS之閒置空間時, 表示S AS中有足夠之閒置空間可供此B AS所使用,從而建立 BAS物件(步驟808),接著建立此BAS與該資料源卷的關聯(步 驟810),在相對應此BAS所存在的媒體區之SAT的文件表欄 位中新增入指向此B AS之資訊以及此BAS所對應之資料源卷 資訊,以建立資料源卷、SAT與BAS之間的關聯。接著配置 snapshot級數(步驟812),係依使用者所設定之該資料源卷的 BAT級數,將此設定值儲存於BAS之目錄内。而後將SAS的 free space分派為BAS之儲備空間之用(步驟814),即完成BAS 之建置。 然如前所述,在本發明之其他實施例中,可不設BAT級 數,則在此種實施例中,前述步驟812則應省略之。 而在一系統支援S AS自動延伸機制之實施例中,前述中止 BAS建置程序(步驟806)之前,係先執行延伸SAS可用空間之 程序(如圖7中所示者),以尋求其他原先未配置於S AS中之閒 置儲存空間,令其為SAS之用。而若執行此自動延伸程序時, 查覺無任何適當閒置空間可供SAS延伸之用而中止延伸,則進 行步驟806以中止建置BAS,否則一旦SAS完成延伸,則建立 BAS的程序係回到步驟802,重新取得SAS資訊,以及查核 BAS儲備空間尺寸與SAS閒置空間兩者間的狀態(步驟804)。 前述之各實施例中,BAS儲備空間之尺寸係設計為至少包 19 1353536 含資料區域以外其他各欄位所需之空間,且在建置BAS時依各 攔位所需空間將其登記為該攔位專用而予以先行保留。較佳者 應更包含部分資料區域的儲存空間。在設有BAT級數之實施 例中,建置BAS時,亦可依照BAT級數之設定值,預先把每 個BAT及其對應之快照影像所需之基本空間先予以保留。 由於前述之實施例中,所建置之BAS僅先要求預留此儲備 空間設定之尺寸,之後,在進行PIT備份之寫入複製程序時, 會去查核空間使用狀況,若原先建置的BAS空間不足,則會再 尋找SAS當時的閒置空間來倂入此BAS中,非每個BAS在一 開始就佔用一個大且固定的儲存空間,運用此法,每個BAS所 占用的儲存空間係依實際運作狀況而定,因而將使得整個SAS 在空間配置上有更多的彈性,得以充分運用。 然,若考量前述可能發生的某一或某些B AS佔用SAS過 多的空間,而使得其他的BAS要進行PIT備份時無空間可用之 情況(如:對某些資料源卷密集產生PIT備份時,或大量寫入複 製程序動作發生時)。在一本發明之實施例中,係對BAS之空 間設有至少一門檻(threshold),在進行寫入複製程序之前,將 先查核BAS之已使用空間,當BAS之已使用空間達到或超過 門檻時,卷管理者會依照使用者或系統之設定處置(如:發出警 訊或刪除舊的快照影像資料以騰出空間或者令該BAS失效(fail) 等等)。前述門檻值可有多個,以區分BAS其佔用空間的不同 程度,並對應不同的警訊或不同的處置。另外前述之門檻值可 以是空間單位,例如:200GB,300GB等,或者可以是與SAS 空間的比例值,例如:20%,即表示門檻為BAS / SAS = 20%。 相關說明將於後詳述之。 最後,當來到對一特定資料源卷從事PIT備份之時間點 20 1353536 時,一相對應之BAT應被建置並且接著將其設定為BAS中現 役的BAT(active BAT)。請參閱圖9A,係為本發明中建置BAT 之一實施例流程圖。首先,建置BAT之第一個步驟902是凍結 (Freeze)所有與該特定資料源卷相關之I/O,且將快取記憶體内 有關該特定資料源卷之操作予以完成並清除之。接著步驟 910,查核BAS之閒置空間是否足夠建置BAT與相對應之快照 影像之用,若足夠,則在B AS之文件表建置新的BAT,且將資 料區域之一段空間登記作為伺服此新BAT之快照影像之用(步 驟912)。而後令目前現役的BAT停止,以及將新建置的BAT 設定為現役的BAT(步驟914),繼而啟動快照功能(步驟916), 續而接至步驟904,將原先凍結的I/O解凍。若BAS之閒置空 間不足,則查核SAS空間之使用狀態(步驟920),若有閒置空 間,則將其中一段閒置空間倂入BAS中(步驟922),繼而接至 步驟912。而若SAS亦未有足夠之閒置空間,則中止BAT的建 置(步驟924),且啟動相對應之程序(如發出警訊以提醒使用者 或管理者),接著接至步驟904,將原先凍結的I/O解凍。 然如前所述,在本發明之一實施例中,係設有BAT級數, 且在建置BAS時會依照BAT級數之設定值將所需之文件表及 所對應之每個快照影像之基本空間先予以保留,以供建置BAT 之用。請續參閱圖9B,即描繪此種實施例中建置BAT之一流 程圖。與圖9A相較,不同點即在於,在凍結步驟902之後, 係以步驟930取代步驟910,查核所對應的BAS内已建置有效 BAT的數量,以與所設定之級數進行比較。而若已建置有效的 BAT數量尚未達到該級數設定值,則接至步驟912,進行建置 BAT之相關步驟。然若已建置有效BAT數量達到此BAS級數 時,則依事件處置策略(Event-handling Policy)之設定作動。在 21 1353536 本實施例中,提出兩種事件處置策略供使用者設定,一為步驟 932,啟動清除(PURGE)程序,亦即刪除(delete)現存部分的PIT-快照,使相對應之BAT與快照影像儲存空間可騰出而供使用, 詳細内容將於後說明之;另一為步驟934,中止BAT的建置, 且啟動相對應之程序(如發出警訊以提醒使用者或管理者),接 著即接至步驟904。此處,雖以兩種事件處置策略,且可供使 用者所設定為例。但在本發明之其他實施例中,系統係直接規 劃為僅實施其中一策略。 再者,在一對BAS使用空間設有至少一個使用空間門檻 (threshold)的實施例中,請參閱圖9C,係顯示此種實施例之建 置BAT之一流程圖。與圖9A比較,差異在於束結步驟902之 後以及查核BAS空間步驟910之前,係插入查核此BAS之已 使用空間(非閒置空間)是否已達到(或超過)所設定的條件 (threshold)之步驟940,若尚未達到所設定之條件,則至步驟 910,其後與圖9A相同,在此不再贅述。’而若步驟940之查核 結果為已達到(或超過)所設定之條件,此時一般會伴隨發出警 訊以提醒使用者此B AS的使用狀態已達所設定的條件,接著依 事件處置策略(Event-handling Policy)之設定作動。在本實施例 中,提出三種因應處置策略供使用者設定。其中兩個係與圖9B 中相同,一為步驟932,啟動清除程序,二為步驟934,中止 BAT的建置,且啟動相對應之程序(如發出警訊以提醒使用者或 管理者)。新增的第三種事件處置策略係為仍繼續建置此新的 BAT,接至步驟912。此係由於,所設定之門檻可能只是想要 提醒使用者之用,因此新增此第三種策略。在一設有多個門檻 的實施例中,使用者可設定不同程度的門檻對應不同的策略, 例如:所設定之第一以及第二門檻分別為:B AS/S AS = 20%, 22 1353536 策^。而第Π梧係對應第三種策略’第二門檻係對應第一種 ”圖9C所不之流程圖外’ 9D係顯示同時採用設定 • 及數以及事先保留建置每個BAT所需之基本空間之一實
•施^則相類似於圖祀,珠結步驟902之後,係先查核BAT .里’以與BAT級數設定值相比較(步驟930),若不足則如 .^述依照事件處置策略至步驟932或步驟934。若足夠,則進 • ^驟94G ’右達到或超過所設定之條件,則同樣如前述者依 鲁化'事,處置策略至步驟932、步驟934或步驟M2,而若未達 到所设定之條件,則直接至步驟 912。 ★最後β月參閱圖1〇。此實施例中係分別對sas與使 用空間設有至少一門播。當控制器接收到指令(-般而言係來自 ;主機端)時,首先係解讀之,若為寫人指令,則依圖作動。 首先’查核快照功能是否被致動(步驟1_) ’若無,則將資料 寫入資料卷内(步驟祕)。若快照功能被致動,則查核欲寫入 之資料區塊疋否已進行過寫入複製程序於現役的βατ之快照 影,内(步驟1004)。若已複製過,則接至步驟1〇〇6。若欲寫入 •目標資料區塊未進行過寫人複製程序,則查核SAS ^間使用之 狀態(步驟1010) ’是否已達所設定之條件(thresh〇ld),若未達 J則進行步驟1 〇2〇,若為已達到(或超過)所設定之條件,此時 會伴隨發出警訊以提醒使用者SAS的使用狀態已達所設定的 條件,接著依事件處置策略(Event_handling p〇Hcy)之設定作 動。在本實施例中,提出三種事件處置策略供使用者設定。一 為步驟1012’啟動清除程序,另一為步驟1〇14,令所有的1〇操 作失效,第三種事件處置策略係為發出警訊後繼續進行步驟 1〇2〇。步驟1020係為查核BAS之空間使用狀態,同樣地,與 23 1353536 所設定之條件進行比較,若未達到所設定條件,則進 刪’進行寫人複製程序,將寫人目標區塊内原始存放之資= 複製至BAS目前所服役的快照影像内。當達到所設定之 時,發出警訊並依事件處置策略之設定作動,一為啟除 序(步驟聰),二為仍允許繼續執行1〇操作但令此⑽之^ 照功能無效(步驟1()34)’三為發出警訊後繼續進行步帮咖、 而在寫入複製程序步驟刪之後係接至步驟贿, 入資料寫入目標區塊。 馬 若^讀取指令,請參關UA。首先,先解析欲讀取之目 標係為資料卷(Data-Volume)或快照卷(步驟u〇2卜若為次料 卷,直接自該資料卷中讀取資料(步驟11〇4)。而若為快 則從相關的快照影像構成快照卷,接著自此快照卷中讀取 (步驟 1106,1108)。 、 ,前已述及,由於每-個快照卷“除包括該時間點之快照 影像#爪以及資料源卷,更可能包括其後建立之快照影像之部 分或全部。因此’於一實施例中,前述步驟11〇6, i⑽詳細可 為,先自相對應之BAS中依據所欲讀取之時間點,選取相對應 之BAT (步驟1110),對於每個欲讀取之資料區塊而言首先查 =其LBA是否存在於該BAT所對應之快照影像(步驟⑴2厂 思即疋否曾進行過寫入複製程序而複製於快照影像中。若 疋則自該快照影像中璜取相對應之資料(步驟1 1 1 4)。若否, 則查核此BAT是否為目前BAS最新建置之ΒΑτ(現役的 ΒΑΤ)(步驟1116)。若是,則自所對應之資料源卷内讀取資料(步 驟ms),若否,則選取下一個時間點ΒΑΤ(步驟112〇),重複 前述步驟直到讀取資料為止。 又’在建置PIT備份的時間點設定方面,在一實施例中, 24 1353536 可為使用者手動啟動,或者是由使用者設定時程(Sehedu⑷,例 如:每:凌晨㈣,每星期―,每月—日等等。當達到該時程 時卷s理者即自動建立PIT備份。另,此時程可為多個且 設有保留優先權(PH〇rity),使需因應空間不足而進行刪除時(如 前述之PURGE程序),可依據此優先權之設定,將低優先權者 先予已删除。 以下,係對清除(PURGE)程序進行說明。清除程序主要係 為了在因應空間不足時,删除(delete)部分現存的ριτ快照使
相對應之ΒΑΤ與㈣影㈣存空料騰出而供使^請參閲圖 12’為其-實施例流程圖。查料膽之優先權狀以及儲存 有效期(步驟1202),接著選擇在有效期外優先權最低者作為清 除的標的(㈣12G4),若無適合的標的,則啟動相對應之事件 處置程序(步驟121G),—般為發出警訊以提醒使用者或管理 者’且t止所對應的主流程程序,例如:圖9b〜9d中之啟動主 除程序’此時會中止BAT的建置,而圖1G中之啟動清除程序月, 此時會令K)操作失效。若有清除標的存在,則先合併⑽㈣ 相關快照影像(步驟12G6),接著刪除所選的bat以及快昭影 (步驟湖),接著查核可利用空間是否已足夠(步驟12、叫了若 仍不夠,則重新至步驟1202,直到空間足夠為止。其中,在本 發明之其他實施例中’前述步驟122G係可省略,並於結束清 除程序後接回主流㈣查核啟動清除料條件之步如° = 圖9B〜9D,圖1〇)。 、』1 在本實施财,係採額各BAT設定有優先㈣及有效其 之方式進行,在步驟1204中選擇清除標的係會考量此二因素 首先,在有效期内的BAT必被保留而不允刪除,而在有效期 的BAT則依照優先權之高低,從狀為最低者開始刪除。^ 25 1353536 外 乂輝⑽設置的考㈣由於本發明之各快照卷係可能與 其後建置之快照影像有關,而由於本實施例係依優先權之高低 選取被删除者,因此,被刪除者可能非為現存最早者,因此,· 若直接刪除,將會引發前一快照卷發生錯誤之情事,例如:在 圖5B令’若直接刪除請#2以及快照料&,將會造成㈣ #1所對應之快照卷·i錯誤,因為其_構錢照卷」 資料區塊2U之DATA_C將會遺失,因此需透過此—步帮1 將快照影像#2中所儲存之原始儲存資料區塊214之位 以及DATA-C等資料合併至快照影像#1。i …。當然,除前述之實施方式外,在其 f考f其中一因素’例如僅設有保留優先順序。或在-實施例 中’係-律從現存最早者開始刪除,直到空間足夠為止, 為此種實施方式,則前述之合併步驟12〇6即可省略。 另外,為了令SAS空間能更有效的被運作,在 貫施例中係提供有-修剪的叫_,錢定資 得僅保留該有效期内之快照卷。此機制可為系岐期啟動 避免過舊資料或過多資料佔據儲存空間。 請參閱® 13。首先,選取現存有狀bat中最 測),查核此ΒΑΤ (步驟13〇4),以與有效期比對(解: ΒΑΤ是否滿期(步驟13°6)1已期滿,則將其與相對岸之^ 影像刪除㈣綱,接著選取下一個時崎:、驟 ㈣),重複步驟讓’直到所選取之bat係落 ^步驟 期滿)。 有效期内(未 再者,前述之有效期係以一段時間為例進行說明。然 本發明之其他實施例中此有效期亦可為βατ之數 、< 僅保留最後建置之某特定數t I7,设定 心数量之BAT,而將超過此數量之較早 26 1353536 建^之BAT及所對應之快照影像刪除之。此變形,係為本技術 領域之具有通常知識者,依照前述本發明實施例之精神,而能 被教導完成之,故,在此不再贅述。
最後,前已說明快照技術主要係為了保存資料源卷在某一 特定時間點之狀態。而採用快照之一目的為使資料在發生任何 問題或錯誤時,系統可使資料源卷資料回復到某—特定時間點 之狀態’即’使系統具有復原(Rollback)之功能。請參閲圖14, 係描繪本發明之—復原實施例之流程^請配合參_ a,其 中圖5D,為使圖示更為清晰,因此相關之sas以及sat係省 略未繪製,僅以相關之資料源卷以及BAS示意。 圖5D之狀態350係描繪對應於資料源卷丨之BAs # 1建 置至BAT #3《狀態。假設此時系統需將資料源卷"复原 (Rollback)到建置BAT#1i時間點的狀態,即’資料源卷!欲 回復為如圖5D中黑框所組成之快照卷(同圖5A中之資料源卷 1)。則首先’卷管理者;東結(Freeze)所有與該特定資料源卷相關 之I/O,且將快取記憶體内有關該特定資料源卷之操作予以完 成並清除之(步驟14〇2)。步驟1404,建置一新BAT,用以保存 此時資料源卷1之狀態(如圖5D之狀態352所示之bat#4)。 繼而步驟1406’利用相關的快照影像形成一虛擬的資料源卷(如 圖5D中黑框所示者)’且將此虚擬資料源卷映射至主機。步驟 1408為建立一位元映射(bitmap),用以追蹤復原過程。而後即 可先行恢復(Resume)I/〇(步驟1410),使允許主機對此虛擬資料 源卷存取。接著,進入回存(Rest〇re)程序,其中第一個步驟142〇 為自相關的快照影像中選取一資料記錄作為第一資料區塊以 進行回存’圖5D中係以選取快照影像# 1之DATA-B為例。 步驟1422查核元映射中對應於該資料區塊之回存旗標 27 1353536 設起?若已設起,表示已回存至資料源 卷i中,右未破設起,則依據該資料區塊所對應原始存放之次 料源卷!之位置資訊將資料重寫(0verwdte)至資料源卷i中貝 而後將7〇映射令此紀錄之回存旗標設起(步輝1424,⑽)。妹 注意,在重寫過程中,同時亦伴隨著寫入複製程序,使得以: 由該新的BAT保存啟動復原時資料源卷之狀態,係以圖犯3 狀態354為例,在重gDATA_B至資料區塊212前, ^ 區塊212内所存放之DATA_K複製至⑽。㈣^查拉 是否相關快照影像内所有資料皆完成回存?若為非鲁 : 像中取得下一個資料記錄(步驟1429),且接至步驟助,直^ 相關快照影像中之所有資料記錄皆完成回存。而後 ⑷4取消映射前述之虛擬資料源卷’取而代之者為映射此實際 的資料源卷1至主機。最後删除元映射(步驟⑷6)。 ’丁、 另外,對於資料源卷1中不屬於復原點快照卷内之資料, 如:圖5D之狀態35〇中之資料源卷i ’其資料區塊咖之 DATA-N係為建£BAT#3後才新增人資㈣卷卜對 料,在本發明之某些實施财,在步驟1414之前,會 除或心己為無效’使資料源4】内之有效資料 快照卷#1之狀離,峙、t立貝设席回 製於BAT#4t ^ 餘記無效前,需將其複 製於BAT#4 t。如:圖5D之狀態354。 再者,前述實施例中,且右涂一 資料源卷!之步驟14〇4 去曰保存此時
⑽Π-F。簡♦力能,即,使系統耗在—時點τ決μ U 前—特㈣點τ’的資料狀態’而後’系統仍 … 險况決定是否要再向前復原至時點τ之資料狀 ι且如本實施例中,較佳者,係更保留時點τ,至時點τ之間 28 所有=…、景」象(如,圖5D中的快照影像及的),使得系統 =具有得以使資料源卷向前復原至該二時關中的任一時點 :料狀〜、之力犯。故而,若在—不支援向前復原(汉〇114〇^打句 '、統中力採用之復原當可不具有前述之步驟且在步 驟1424之重寫過程中,無須伴隨著將資料寫入複製程序至新 的AT的步驟’既然無此新的ΒΑτ存在。更者,在一實施例 L在完成回存後’即資料《已完成復原至時點T,之資料狀 態後,係具有刪除時點T,至時點τ之間之所有快照影像之步 驟。而在-實施例中’前述刪除之快照影像中係包括時點τ, 之决“象’因既然該資料源卷之資料狀態已復原至此 Τ,。 · 月J述之本發Β月之復原之實施例中’在進行將BAS内相關之 快照影像回存至資料源卷前,係、映射虛擬資料源卷至主機以及 恢復(^崎)1/〇(步驟1406,1410),而令主機視復原已完成, 且使系統纟進行回存程序時允冑主機肖此諸源、卷進行存 取’而不用等到整個復原程序完成才能恢€ I/O,因此可改善 因執行復原而引發之整體執行效率問題。而有關在回存過程 中’主機對資料源卷之讀/寫操作,請參閱冑15A及圖15Ββ 口圖ISA係描繪在回存過程中對正在復原之資料源卷進行讀 取操作之實施例流程圖。首先判斷欲讀取之資料是否係存在 於相關之快照影像(步驟15〇2),請配合參閱圖5D,假設欲讀取 資料源卷1中某一目標資料區塊之資料,係先搜尋相關快照影 像(B AS # 1内黑框所示者)是否有任何資料其相對應之原始存放 位置係為該目標資料區塊,若有則執行步驟15〇4,否則至步驟 1506。步驟1504查核此資料是否已回存。若已回存則進行 步驟1506,從資料源卷中讀取資料以回覆讀取請求之發送端。 29 右尚未回存’則自此快照影像中讀取資料以回覆之(步驟 IT製取者為資料區塊乂°,由於此資料區塊從 ,®此在相關快照影像中無法搜尋到,故 而直接1 賈取資料源卷1中資料區塊加内之DATA-A回覆 :二:·右欲讀取者為資料區塊214,則搜尋到快照影像#2 =糸存有原始存放位置為資料區塊214之資料區塊謂,接著 一核β復原程序中位元映射(bitmap)中此資料區塊罵之回存旗 標.是否已設起。若是’則讀取資料源卷1中資料區塊214内 之育料。若回存旗標肖未設起,則讀取BAS#i内之資料區塊 =0 :之DATA-C回覆之。前述由於f料在復原至資料源卷之 4可能會被更新’因而對於已復原之資料,需至資料源卷中讀 =之另外,在本發明之其他實施例中,在進行自快照影像中 讀取資料以回覆之步驟測時’係於讀取資料後包含將此資 料重寫(overwrite)至資料源卷以及將位元映射⑻中相 應之回存旗標設起之操作。 ,圖別係描綠在原、触中對正在復原(Rollback)之資料源 卷進行寫入操作之一實施例流程圖。相類似於前述之讀取操作 流程’首先判斷相關之快照影像内是否存有原始儲存位置為此 欲寫入之資料區塊者(步驟1522)。若欲寫人之資料區塊未曾複 製至相關之快照影像,則至步驟1526,將資料寫入資料源卷。 否則至步驟1524,查核此資料是否已回存。若已回存,則進行 步驟1526。右尚未回存,係使回存旗帛設起以及將資料寫入 資料源卷(步驟卿且在—較佳實施例中,係引入信號機 (semaphore)控制機制’使步驟1駕之寫入操作與前述回存程 序不得同時對同-區塊進行操作,避免因競爭效應導致資料錯 誤0 曰 30 惟以上所述僅為本發明之較佳可行實施例,非因此即拘限 本發月之專利㈣,故舉凡運用本發明說明書及圖示内容所為 之等效結構變化’均同理包含於本發明之範圍内,合予陳明。 【圖式簡單說明及主要元件符號說明】 圖1A至圖ic係顯示出習知技術之方塊圖。 圖2係―據本發明之-實施例之主U統架構圖。 圖3係顯不出根據本發明之一實施例之一類似棺案系統 (file-system-line)結構之方塊圖。 圖4A至圖4B係顯示出根據本發明之一實施例之sa 構圖。 圖至圖5D係顯示出根據本發明之一實施例之執行ριτ 備份之方塊圖。 圖6係顯示出根據本發明之-實施例之建立SAS的步驟之 流程圖。 圖7係顯示出根據本發明之-實施例之延伸SAS的步驟之 流程圖。 圖8係顯示出根據本發明之一實施例之建立β as的步驟之 流程圖。 圖9 A至圖9D係分別地顯示出根據本發明之不同的實施例 之建立BAT的步驟之流程圖。 圖係、顯示出根#本發明之一實施例之設定一巳使用空 間(used space)的門檻(thresh〇ld)的步驟之流程圖。 圖11A係顯示出根據本發明之一實施例之執行一讀取指令 的步驟之流程圖。 圖11B係顯示出根據本發明之一實施例之執行一讀取指令 31 1353536 的步驟之流程圖 圖12係顯示出根據本發明之一實施例之執行—去除程序 (purge procedure)的步驟之流程圖。 圖13係顯示出根據本發明之一實施例之執行一修剪機制 (prune mechanism)的步驟之流程圖。 圖14係顯示出根據本發明之一實施例之執行一復原程序 (rollback process)的步驟之流程圖。 圖15A係顯示出根據本發明之一實施例之執行一復原程序 (rollback process)的步驟之流程圖。 圖15B係顯示出根被本發明之一實施例之執行—寫入^人 的步驟之流程圖。 7 圖16為一顯示一根據本發明一儲存虛擬化控制器2⑽以 及其對主機和直接存取儲存裴置之連接之一第一實施例之方 塊圖。 圖17為一顯示一根據本發明一儲存虛擬化控制器2⑼以 及其對主機、一第一儲存虛擬化控制器800和直接存取儲存穿 置之連接之一第一實施例之方塊圖。 元件符號說明 — 號碼 名稱 號碼 —------- 名稱 210-232 資料區塊 802-814 流程步驟 10 主機電腦 902-934 — 流程步驟 20 儲存虛擬化子系統 902-934 一----- 流程步驟 200 儲存虛擬化控制器 1002-1034 --------. 流程步驟 400 直接存取儲存裝罟陣 1102-1108 --- 流程步驟 ' --1 32 1353536
列 410 直接存取儲存裝置 1110-1120 流程步驟 State 300 至 State 354 狀態300至狀態354 1202-1220 流程步驟 602-610 流程步驟 1302-1310 流程步驟 702-710 流程步驟 1402-1428 流程步驟 1502-1508 流程步驟 1522-1528 流程步驟 220 裝置連結控制器 240 中央處理電路 280 記憶體 300 裝置連結控制器 800 儲存虛擬化控制器 236 冗餘控制器通聯連 結控制器 33
Claims (1)
1353536
1^05月18曰修正替換頁 1· 一種儲存虛擬化電腦系統,包含: 一主機單元,以發送—輸出入要求; 一外部儲存虛擬化控制器,係叙 Λ ^ 片祸祓至该主機早70以執行輸 出入刼作,來回應於該輸出入要求;以及 至少-偏實體儲存袭置,其每一個係經由一串列附接小型 ^腦^统介面(Serial Attaehed咖)連糾接至該儲存虛擬化 :制益,以經由該儲存虛擬化控㈣提供資料儲存m給該儲 存虛擬化電腦系統,其_該等實體儲存裝置係包含有至少一第 一通訊協定實體儲存裝置和至少—第二通訊協^實體儲存裝 置,該兩者實體儲存裝置皆透過該串列附接小型電腦系統介面 連結而耦接該儲存虛擬化控制器; 其中該外部儲存虛擬化控制器係執行一快照功能,使得以 保存該等實體儲存裝置所構成之至少一資料源卷 (s〇urce-v〇lume)於一特定時點之資料狀態,以及在收到要將資 料寫入該資料源卷中的第一位置之一第一寫入請求時則透過 —寫入複製程序,以將原本資料區塊中的資料及各資料原先儲 存位置(LBA)的資訊複製至一快照影像之中,再將該資料寫入 該資料源卷中,以覆寫(overwrite)該原本資料區塊中的該資料。 2. 如申請專利範圍第1項之電腦系統,其中該第—通訊協 '係為一串列附接小型電腦系統介面通訊協定,且該第二通訊 協定係為一串列先進技術附接(SATA)通訊協定。 3. 如申請專利範圍第1項之電腦系統,其中該快照功能係 透過一區段分配系統而操作。 34 1353536 ---η ί 月如修正替換頁 | 1〇〇年05月18日修正替換頁 4.如申請專利範圍第3項之電腦系統,其中該資料源卷係 儲存在該至少一第一通訊協定實體儲存裝置中,且該區段分配 系統係儲存在該至少一第二通訊協定實體儲存裝置中。 ' 5.如申請專利範圍第4項之電腦系統,其中該第一通訊協 ' 定係為一串列附接小型電腦系統介面通訊協定,且該第二通訊 .· 協定係為一串列先進技術附接通訊協定。 6.如申請專利範圍第4項之電腦系統,其中該等實體儲存 裝置係為一硬碟。 ® 7.如申請專利範圍第3項之電腦系統,其中該區段分配系 統(SAS)係包含一區段分配表(SAT)和至少一區塊關聯集(BAS),該區 塊關聯集係進行時間點備份之基礎。 8. 如申請專利範圍第7項之電腦系統,其中該區段分配表 - 係包含有: • 一第一屬性區塊,用以記載一區段分配系統識別符 (SAS ID)與媒體區識別符(Media Extent ID); 一第一文件表,用以記載指向每一 BAS之資訊及每一 • BAS所關聯的該資料源卷;以及 • 一描述資料欄位’用以儲存管理該SAT的描述資料 (metadata)。 9. 如申請專利範圍第8項之電腦系統,其中該區段分配表 | 係更包含有一第一日誌欄位,用以存放一運作日誌,以供該電 腦系統發生錯誤或斷電情事時可供回復之用。 如申請專利範圍第7項之電腦系統,其中每一 BAS係 包含有: 一第二屬性區塊(Attribute Block)’用以記載此BAS識別 35 1353536 日修正替換頁 100年08月23日修正替換頁 符(BAS ID)、BAS大小以及BAS相關設定等資訊; 一目錄(directory)攔位,記載一 BAT級數(level)以及已建置 BAT之數量; 一第二文件表(Folder Table),用以儲存BAT ;以及 一資料區,係用以存放至少一快照影像(Snapshot Image)。 11_如申請專利範圍第10項之電腦系統,其中該BAS係更 包含有一第二日誌(Journal)欄位,係存放一運作日誌,以供系 統發生錯誤或斷電情事時可供回覆之用。 12. 如申請專利範圍第1項之電腦系統,其中在收到比該第 一寫入請求晚的一第二寫入請求而要將資料寫入該資料源卷 中的該第一位置之時,則不進行該寫入複製程序,直接將該資 料寫入該資料源卷中的該第一位置。 13. 如申請專利範圍第1項之電腦系統,其中該快照功能係 透過一區段分配系統而操作,該區段分配系統(SAS)係包含一 區段分配表(SAT)和至少一區塊關聯集(BAS),該區塊關聯集係 進行時間點備份吝基礎,其中 該區段分配表係包含有: 一第一屬性區塊,用以記載一區段分配系統識別號碼 (SAS ID)與媒體延伸區識別符(Media Extent ID); 一第一文件表,用以記載指向每一 BAS之資訊及每一 BAS所關聯的該資料源卷;以及 一描述資料攔位,用以儲存管理該SAT的描述資料 (metadata);且 該BAS每一者係包含有·. 一第二屬性區塊(Attribute Block),用以記載此BAS識別號 36 1353536 碼(BAS ID)、BAS大小以及BAS相關設定等資訊; 一目錄(directory)欄位,記載一 BAT級數(level)以及已建置 BAT之數量; 一第二文件表(Folder Table),用以儲存BAT ;以及 一資料區,係用以存放至少一快照影像(Snapshot Image)。 14. 一種用於一儲存虛擬化電腦系統中管理資料快照影像 之方法,係包含有: 建立一區段分配系統(SAS),係包括至少一媒體區; 於該媒體區中建立一區段分配表(SAT)及至少一區塊關聯 集(BAS),該區段分配表係包括記載指向該區塊關聯集之資訊 的欄位’該區塊關聯集係與一資料源卷相對應,為對該資料源 卷進行快照備份之基礎; 於該區塊關聯集中建立至少一區塊關聯表,該區塊關聯表 係用以儲存交互參考資訊以與具有原始儲存位置之備份資料 相對應;以及 备在收到要將資料寫入一資料源卷中的第一位置之一第一 _寫入請求時,則透過一寫入複製程序,以將原本資料區塊中的 資料及各資料原先儲存位置(LB A)的資訊複製至一快照影像之 中’再將該資料寫入該資料源卷中,以覆寫⑷該 資料區塊中的該資料。 μ 15.如申請專利範圍第“項之方法,”該儲存系統係包 含有至少-實體儲存裝置,該至少一實體儲存裝置係包含有複 數實體儲存裝置且該等實體儲存裝置係包含有至少'_第一通 訊協=實體儲存裝置和至少一第二通訊協定實體儲存裝置,= 兩者實體儲存裝置皆透過該φ列附接小型電腦系統介面連 37 丄乃3536 100年05月18日修正替換頁 而輕接該儲存虛擬化控制器 16. 如申請專利範圍第15項之方法’其中該第一通訊協定 t為一串列附接小型電腦系統介面通訊協定,且該第二通訊協 定係為一 _列先進技術附接(SATA)通訊協定。 17. 如申請專利範圍第15項之方法,其中該資料源卷係儲 存在至少一第一通訊協定實體儲存裝置中,且該區段分配系統 係儲存在至少一第二通訊協定實體儲存裝置中。 / 18.如申請專利範圍第17項之方法,其中該第一通訊協定 2為一串列附接小型電腦系統介面通訊協定,且該第二通訊協 疋係為一串列先進技術附接通訊協定。 /9.如申請專利範圍第17項之方法,其中該等實體儲存裝 置係為一硬碟。 2〇.如申請專利範圍第14項之方法’其中該區段分配表係 包含有: 一第一屬性區塊,用以記載一區段分配系統識別符(SAS ID)與媒體區識別符(Me(jia Extent ID); 第一文件表,用以記載指向每一 BAS之資訊及每一 B AS所關聯的該資料源卷;以及 也述資料攔位,用以儲存管理該SAT的描述資料 (metadata) ° 21. 如申凊專利範圍第2〇項之方法,其中該區段分配表係 更3有帛日棚位,用以存放—運作日該,以供該電腦 系統發生錯誤或斷電情事時可供回復之用。 22. 如申明專利範圍帛14項之方法其中每—係包含 有: 38 1353536 100年05月18日修正替換頁 〇诗月(¾曰修正替換頁 一第二屬性區德(Attribute Block),用以記載此BAS識別號 碼(BAS ID)、BAS大小以及BAS相關設定等資訊; 一目錄(directory)攔位,記載一 BAT級數(level)以及已建置 BAT之數量; • 一第二文件表(Folder Table),用以儲存BAT ;以及 • 一資料區,係用以存放至少一快照影像(Snapshot Image)。 23. 如申請專利範圍第22項之方法,其中該BAS係更包含 有一第二日誌(Journal)攔位,係存放一運作曰誌,以供系統發 ® 生錯誤或斷電情事時可供回覆之用。 24. 如申請專利範圍第14項之方法,其中在收到比該第一 寫入請求晚的一第二寫入請求而要將資料寫入該資料源卷中 的該第一位置之時,則不進行該寫入複製程序,直接將該資料 寫入該資料源卷中的該第一位置。 25. 如申請專利範圍第14項之方法,更包含一清除(purge) 資料快照影像(Snapshot Images)之步驟。 26. 如申請專利範圍第25項之方法,其中該清除步驟係包含 • 以下步驟: - 查核各BAT之設定; 選擇清除的標的; 若有清除標的存在,則先合併相關的快照影像;以及 刪除所選的BAT以及其該等相關的快照影像。 27. 如申請專利範圍第26項之方法,進一步包含的步驟有: 查核一可利用空間是否已足夠,若不夠時,則重覆上述步驟, 直到該可利用空間巳經足夠。 28. 如申請專利範圍第26項之方法,其中若無適合清除標 39 1353536 ------ 曰修正替換頁 | 100年05月18日修正替換頁 的,則啟動相對應之事件處置程序。 29. 如申請專利範圍第28項之方法,其中該啟動相對應之 事件處置程序係包含的步驟:中止該等B AT的建置。 30. 如申請專利範圍第28項之方法,其中該啟動相對應之 •事件處置程序係包含的步戰:令一 1〇操作失效。 31. 如申請專利範圍第26項之方法,其中該設定係包含有 該等BAT的一優先權設定或一儲存有效期。 32. 如申請專利範圍帛14項之方法,更包含一修剪( • 資料快照影像之步驟。 33_如申請專利範圍第32項之方法,其中該修剪步驟係包含 以下步驟: 選取現存有效之BAT中最早者; 查核所選取BAT的儲存有效期;以及 若已期滿’則將所選取BAT及其相關快照影像刪除。 34.如申請專利範圍第33項之方法,進一步包含的步驟有 選取下-個時間的BAT,重複上述該查核所選取bat的儲 存有效期的步驟伞上述該若已期滿,則將所選取膽及其 關1 f ? ϊ η ΐ步驟,直到所選取β Ατ係落入有效期二 J5·種儲存虛擬化電腦系統,包含: π双朋内。 —主機單元,以發送一輸出入要求; 馀出IS儲存虛擬化控制器,係耦接至該主機單元以執行 輸出入操作,來回應於該輸出入要求;以及 至少-個實體儲存裝置,其每一個係經由 型電腦系統介面(Serial Attached SCSI)連社耦接$ β ^ 擬化^ 輕接至該儲存虛 擬化控制益,以經由該儲存虛擬化控制器提供資料儲存空間 1353536 W月細正麵 給該儲存虛擬化電腦系統,其中該等實體儲存裝置係包含有 至少一第一通訊協定實體儲存裝置和至少一第二通訊協定實 體儲存裝置; 其中該外部儲存虛擬化控制器係執行一快照功能,使得 以保存該等實體儲存裝置所構成之至少一資料源卷 (Source-V〇lume)於一特定時點之資料狀態,以及在收到要將 資料寫入該資料源卷中的第一位置之一第一寫入請求時,則 透過一寫入複製程序,以將原本資料區塊中的資料及各資料 原先儲存位置(LBA)的資訊複製至一快照影像之中,.再將該 Μ料寫入該-貝料源卷中,以覆寫(〇verwrite)該原本資料區塊 中的該資料;當收到比該第—寫人請求晚的—第二寫入請求 而要將資料寫入該資料源卷中的該第一位置之時,則不進行 該寫入複製程序,直接將該資料寫入該資料源卷中的該第一 位置。 . 36. 如申請專利範圍第35項之電腦系統,其中該第一通訊協 定係為一串列附接小型.電腦系統介面通訊協定,且該第二通 訊協疋係為一串列先進技術附接(s ATA)通訊協定。 37. 如中請專利範圍第35項之電腦线,其巾該快照功能 係透過一區段分配系統而操作。 38. 如申請專利範圍第37項之電腦系統,其中該資料源卷 堵存在該至少一第一通訊協定實體儲存裝置中’且該區段 刀配系統係儲存在該至少一第二通訊協定實體儲存裝置中。 39 —如中請專利範圍第38項之電腦系統,其令該第一通訊 協定係為一串列附接小型電腦系統介面通訊協定,且該第二 通汛協定係為一串列先進技術附接通訊協定。 40.如申請專利範圍第38項之電腦系統,其中該等實體儲 1353536 I----;-------i 100年05月18曰修正替換頁 正替換貞' 存裝置係為一硬碟。 41. 如申請專利範圍第37項之電腦系統,其中該區段分配 系統(SAS)係包含一區段分配表(SAT)和至少一區塊關聯集 (BAS),該區塊關聯集係進行時間點備份之基礎。 42. 如申請專利範圍第41項之電腦系統,其中該區段分配 表係包含有: 一第一屬性區塊,用以記載一區段分配系統識別符(SAS ID)與媒體區識別符(Media Extent ID); 一第一文件表,用以記載指向每一 BAS之資訊及每一 BAS所關聯的該資料源卷;以及 一描述資料欄位,用以儲存管理該SAT的描述資料 (metadata) ° 43. 如申請專利範圍第42項之電腦系統,其中該區段分配 表係更包含有一第一日誌欄位,用以存放一運作日誌,以供 該電腦系統發生錯誤或斷電情事時可供回復之用。 44. 如申請專利範圍第41項之電腦系統,其中每一 BAS係 包含有: 一第二屬性區塊(Attribute Block),用以記載此BAS識 別符(B AS ID)、B AS大小以及B AS相關設定等資訊; 一目錄(directory)欄位,記載一 BAT級數(level)以及已 建置BAT之數量; 一第二文件表(Folder Table),用以儲存BAT ;以及 一資料區,係用以存放至少一快照影像(Snapshot Image) 〇 45·如申請專利範圍第44項之電腦系統,其中該BAS係更 包含有一第二日誌(Journal)欄位,係存放一運作日誌,以供 42 1353536 卜+Γ月λ曰修正替換頁 系統發生錯誤或斷電情事時可供回覆之用 100年05月18日修正替換頁
43
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US74317406P | 2006-01-26 | 2006-01-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200731103A TW200731103A (en) | 2007-08-16 |
TWI353536B true TWI353536B (en) | 2011-12-01 |
Family
ID=37965267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096102873A TWI353536B (en) | 2006-01-26 | 2007-01-25 | Virtualized storage computer system and method of |
Country Status (4)
Country | Link |
---|---|
US (1) | US8533409B2 (zh) |
EP (1) | EP1816563B1 (zh) |
CN (2) | CN100592251C (zh) |
TW (1) | TWI353536B (zh) |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US7757057B2 (en) * | 2006-11-27 | 2010-07-13 | Lsi Corporation | Optimized rollback of copy-on-write snapshot volumes |
US7620765B1 (en) * | 2006-12-15 | 2009-11-17 | Symantec Operating Corporation | Method to delete partial virtual tape volumes |
US7925630B1 (en) * | 2007-03-30 | 2011-04-12 | Symantec Corporation | Method of inserting a validated time-image on the primary CDP subsystem in a continuous data protection and replication (CDP/R) subsystem |
US8171431B2 (en) * | 2007-10-05 | 2012-05-01 | Microsoft Corporation | Handle flags |
US8117164B2 (en) | 2007-12-19 | 2012-02-14 | Microsoft Corporation | Creating and utilizing network restore points |
US8095510B2 (en) * | 2008-07-22 | 2012-01-10 | International Business Machines Corporation | Data restoration in a storage system using multiple restore points |
TWI381180B (zh) * | 2008-10-03 | 2013-01-01 | Holtek Semiconductor Inc | Circuit Simulation System |
TWI526823B (zh) * | 2009-01-23 | 2016-03-21 | 普安科技股份有限公司 | 單一架構下進行資料卷複製的方法及其裝置 |
TWI414992B (zh) * | 2009-01-23 | 2013-11-11 | Infortrend Technology Inc | 遠端非同步資料卷複製的方法及其裝置 |
EP2211263A3 (en) * | 2009-01-23 | 2013-01-23 | Infortrend Technology, Inc. | Method for performing storage virtualization in a storage system architecture |
US8214842B2 (en) * | 2009-02-27 | 2012-07-03 | International Business Machines Corporation | Visualization-centric performance-based volume allocation |
US20120259961A1 (en) | 2011-04-07 | 2012-10-11 | Infinidat Ltd. | System of managing remote resources |
CN102841758B (zh) * | 2011-06-20 | 2015-09-30 | 钜贯德科技股份有限公司 | 高效能虚拟磁盘管理系统 |
US8806160B2 (en) * | 2011-08-16 | 2014-08-12 | Pure Storage, Inc. | Mapping in a storage system |
EP2768513B8 (en) | 2011-10-18 | 2020-05-20 | Institut national de recherche pour l'agriculture, l'alimentation et l'environnement | Use of avermectin derivative for increasing bioavailability and efficacy of macrocylic lactones |
US9158828B1 (en) * | 2011-12-19 | 2015-10-13 | Emc Corporation | Techniques using associated object properties |
US9087201B2 (en) | 2012-01-05 | 2015-07-21 | Infinidat Ltd. | System and methods for host enabled management in a storage system |
US9298715B2 (en) | 2012-03-07 | 2016-03-29 | Commvault Systems, Inc. | Data storage system utilizing proxy device for storage operations |
US9471578B2 (en) | 2012-03-07 | 2016-10-18 | 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 |
CN102779080B (zh) * | 2012-06-18 | 2015-05-27 | 上海爱数软件有限公司 | 生成快照的方法、利用快照进行数据恢复的方法及装置 |
US10409980B2 (en) * | 2012-12-27 | 2019-09-10 | Crowdstrike, Inc. | Real-time representation of security-relevant system state |
US8880838B2 (en) | 2013-01-08 | 2014-11-04 | Lyve Minds, Inc. | Storage network data allocation |
US9336226B2 (en) | 2013-01-11 | 2016-05-10 | Commvault Systems, Inc. | Criteria-based data synchronization management |
US9886346B2 (en) | 2013-01-11 | 2018-02-06 | Commvault Systems, Inc. | Single snapshot for multiple agents |
US9015121B1 (en) * | 2013-01-15 | 2015-04-21 | Emc Corporation | Unified virtual machine and data storage snapshots |
US9298372B2 (en) * | 2013-03-06 | 2016-03-29 | Dell Products, L.P. | System and method for managing storage system snapshots |
US9384150B2 (en) * | 2013-08-20 | 2016-07-05 | Janus Technologies, Inc. | Method and apparatus for performing transparent mass storage backups and snapshots |
US9424137B1 (en) * | 2013-09-27 | 2016-08-23 | Emc Corporation | Block-level backup of selected files |
WO2015066698A1 (en) * | 2013-11-04 | 2015-05-07 | Falconstor, Inc. | Snapshots using copy on predicted write |
US9594583B2 (en) * | 2013-11-12 | 2017-03-14 | Red Hat, Inc. | Lightweight snapshots for virtual disks |
US9678678B2 (en) | 2013-12-20 | 2017-06-13 | Lyve Minds, Inc. | Storage network data retrieval |
US9639426B2 (en) | 2014-01-24 | 2017-05-02 | Commvault Systems, Inc. | 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 |
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 |
US9798596B2 (en) | 2014-02-27 | 2017-10-24 | Commvault Systems, Inc. | Automatic alert escalation for an information management system |
CN103902665A (zh) * | 2014-03-11 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种存储虚拟化系统实现的方法 |
US9798882B2 (en) | 2014-06-06 | 2017-10-24 | Crowdstrike, Inc. | Real-time model of states of monitored devices |
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 |
US9648105B2 (en) | 2014-11-14 | 2017-05-09 | Commvault Systems, Inc. | Unified snapshot storage management, using an enhanced storage manager and enhanced media agents |
US9448731B2 (en) | 2014-11-14 | 2016-09-20 | Commvault Systems, Inc. | Unified snapshot storage management |
US9645891B2 (en) | 2014-12-04 | 2017-05-09 | Commvault Systems, Inc. | Opportunistic execution of secondary copy operations |
US9753816B2 (en) | 2014-12-05 | 2017-09-05 | Commvault Systems, Inc. | Synchronization based on filtered browsing |
US9952934B2 (en) | 2015-01-20 | 2018-04-24 | Commvault Systems, Inc. | Synchronizing selected portions of data in a storage management system |
US9588849B2 (en) | 2015-01-20 | 2017-03-07 | Commvault Systems, Inc. | Synchronizing selected portions of data in a storage management system |
US10007448B2 (en) * | 2015-08-28 | 2018-06-26 | Vmware, Inc. | Multiple hierarchies of snapshots |
CN105243090A (zh) * | 2015-09-10 | 2016-01-13 | 北京北信源软件股份有限公司 | 一种独占文件的获取方法和系统 |
US10180885B2 (en) * | 2015-11-10 | 2019-01-15 | Netapp, Inc. | Prioritized data recovery from an object storage service and concurrent data backup |
US20170147441A1 (en) * | 2015-11-20 | 2017-05-25 | Netapp, Inc. | Selective Data Roll-Back and Roll-Forward |
US10503753B2 (en) | 2016-03-10 | 2019-12-10 | Commvault Systems, Inc. | Snapshot replication operations based on incremental block change tracking |
US10862751B1 (en) * | 2016-03-24 | 2020-12-08 | EMC IP Holding Company LLC | Proactive service reminder based on customer configuration |
US10346062B2 (en) * | 2016-11-16 | 2019-07-09 | International Business Machines Corporation | Point-in-time backups via a storage controller to an object storage cloud |
US10652025B2 (en) | 2017-07-10 | 2020-05-12 | Micron Technology, Inc. | Secure snapshot management for data storage devices |
US10732885B2 (en) | 2018-02-14 | 2020-08-04 | Commvault Systems, Inc. | Block-level live browsing and private writable snapshots using an ISCSI server |
US10705927B2 (en) * | 2018-07-19 | 2020-07-07 | Hewlett Packard Enterprise Development Lp | Freeze a volume of a replication set and unfreeze the volume based on at least one of a snapshot permit message, a snapshot abort message, and expiration of a timeout |
US11163799B2 (en) * | 2019-10-29 | 2021-11-02 | Dell Products L.P. | Automatic rollback to target for synchronous replication |
US11704035B2 (en) | 2020-03-30 | 2023-07-18 | Pure Storage, Inc. | Unified storage on block containers |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69435146D1 (de) * | 1993-06-03 | 2008-11-13 | Network Appliance Inc | Verfahren und Vorrichtung zum Beschreiben beliebiger Bereiche eines Dateisystems |
US7072916B1 (en) * | 2000-08-18 | 2006-07-04 | Network Appliance, Inc. | Instant snapshot |
US6584551B1 (en) * | 2000-11-27 | 2003-06-24 | Lsi Logic Corporation | System and method for automatic dynamic expansion of a snapshot repository |
US6594744B1 (en) | 2000-12-11 | 2003-07-15 | Lsi Logic Corporation | Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository |
US6857059B2 (en) | 2001-01-11 | 2005-02-15 | Yottayotta, Inc. | Storage virtualization system and methods |
CN1180350C (zh) * | 2001-09-25 | 2004-12-15 | 微星科技股份有限公司 | 虚拟储存装置 |
US7028158B1 (en) * | 2001-11-02 | 2006-04-11 | Beatty And Company Computing, Inc. | Storage virtualization engine |
US6877109B2 (en) * | 2001-11-19 | 2005-04-05 | Lsi Logic Corporation | Method for the acceleration and simplification of file system logging techniques using storage device snapshots |
US6886057B2 (en) * | 2002-06-06 | 2005-04-26 | Dell Products L.P. | Method and system for supporting multiple bus protocols on a set of wirelines |
US8219777B2 (en) * | 2002-10-03 | 2012-07-10 | Hewlett-Packard Development Company, L.P. | Virtual storage systems, virtual storage methods and methods of over committing a virtual raid storage system |
US6883083B1 (en) * | 2002-12-20 | 2005-04-19 | Veritas Operating Corporation | System and method for maintaining and accessing information regarding virtual storage devices |
CN1530841A (zh) | 2003-03-13 | 2004-09-22 | 威达电股份有限公司 | 具快照备份功能的存储系统及方法 |
US7664896B2 (en) * | 2003-03-26 | 2010-02-16 | Pivot 3, Inc. | Expedited completion done messages, method and apparatus |
US7565566B2 (en) * | 2003-04-23 | 2009-07-21 | Dot Hill Systems Corporation | Network storage appliance with an integrated switch |
US7120557B2 (en) | 2003-04-25 | 2006-10-10 | Lsi Logic Corporation | Systems and methods for analyzing data of a SAS/SATA device |
US20050015416A1 (en) * | 2003-07-16 | 2005-01-20 | Hitachi, Ltd. | Method and apparatus for data recovery using storage based journaling |
US8301809B2 (en) * | 2003-07-02 | 2012-10-30 | Infortrend Technology, Inc. | Storage virtualization computer system and external controller thereof |
EP1668486A2 (en) * | 2003-08-14 | 2006-06-14 | Compellent Technologies | Virtual disk drive system and method |
US20050114595A1 (en) * | 2003-11-26 | 2005-05-26 | Veritas Operating Corporation | System and method for emulating operating system metadata to provide cross-platform access to storage volumes |
US7669032B2 (en) * | 2003-11-26 | 2010-02-23 | Symantec Operating Corporation | Host-based virtualization optimizations in storage environments employing off-host storage virtualization |
US6824426B1 (en) * | 2004-02-10 | 2004-11-30 | Hon Hai Precision Ind. Co., Ltd. | High speed electrical cable assembly |
US20050198062A1 (en) * | 2004-03-05 | 2005-09-08 | Shapiro Richard B. | Method and apparatus for accelerating data access operations in a database system |
JP4456909B2 (ja) | 2004-03-29 | 2010-04-28 | 株式会社日立製作所 | バックアップ方法、ストレージシステム及びそのプログラム |
US20050223180A1 (en) * | 2004-03-31 | 2005-10-06 | Philip Derbeko | Accelerating the execution of I/O operations in a storage system |
US7409494B2 (en) * | 2004-04-30 | 2008-08-05 | Network Appliance, Inc. | Extension of write anywhere file system layout |
US7409511B2 (en) * | 2004-04-30 | 2008-08-05 | Network Appliance, Inc. | Cloning technique for efficiently creating a copy of a volume in a storage system |
JP2006011811A (ja) | 2004-06-25 | 2006-01-12 | Hitachi Ltd | 記憶制御システム及び記憶制御方法 |
US7254682B1 (en) * | 2004-07-28 | 2007-08-07 | Symantec Corporation | Selective file and folder snapshot image creation |
US20060101204A1 (en) * | 2004-08-25 | 2006-05-11 | Bao Bill Q | Storage virtualization |
US7849257B1 (en) * | 2005-01-06 | 2010-12-07 | Zhe Khi Pak | Method and apparatus for storing and retrieving data |
TWI307034B (en) * | 2005-11-23 | 2009-03-01 | Infortrend Technology Inc | Storage virtualization subsystem and system with host-side redundancy via sas connectivity |
US7409523B2 (en) * | 2005-12-16 | 2008-08-05 | Microsoft Corporation | Online storage volume shrink |
US7757057B2 (en) * | 2006-11-27 | 2010-07-13 | Lsi Corporation | Optimized rollback of copy-on-write snapshot volumes |
-
2007
- 2007-01-25 TW TW096102873A patent/TWI353536B/zh active
- 2007-01-25 US US11/657,450 patent/US8533409B2/en active Active
- 2007-01-25 EP EP07101202.5A patent/EP1816563B1/en active Active
- 2007-01-26 CN CN200710007318.2A patent/CN100592251C/zh active Active
- 2007-01-26 CN CN200910265752.XA patent/CN101763224B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
EP1816563A3 (en) | 2010-09-22 |
EP1816563B1 (en) | 2016-04-27 |
EP1816563A2 (en) | 2007-08-08 |
TW200731103A (en) | 2007-08-16 |
CN101763224B (zh) | 2012-05-30 |
CN101008886A (zh) | 2007-08-01 |
US8533409B2 (en) | 2013-09-10 |
CN101763224A (zh) | 2010-06-30 |
CN100592251C (zh) | 2010-02-24 |
US20070174569A1 (en) | 2007-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI353536B (en) | Virtualized storage computer system and method of | |
US11561928B2 (en) | Backup and restoration for storage system | |
JP5346536B2 (ja) | 情報バックアップ/リストア処理装置、及び情報バックアップ/リストア処理システム | |
US8904129B2 (en) | Method and apparatus for backup and restore in a dynamic chunk allocation storage system | |
US9946655B2 (en) | Storage system and storage control method | |
US8170996B2 (en) | Storage subsystem | |
US8909883B2 (en) | Storage system and storage control method | |
US7783850B2 (en) | Method and apparatus for master volume access during volume copy | |
US8433867B2 (en) | Using the change-recording feature for point-in-time-copy technology to perform more effective backups | |
JP6064608B2 (ja) | ストレージ装置、バックアッププログラム、およびバックアップ方法 | |
US20130007388A1 (en) | Storage system and controlling method of the same | |
US7383465B1 (en) | Undoable volume using write logging | |
JP2004252686A (ja) | 情報処理システム | |
JP2005011317A (ja) | ストレージシステムを初期化する方法と装置 | |
JP2009093529A (ja) | 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム | |
US20070033361A1 (en) | Apparatus, system, and method for fastcopy target creation | |
JP5956971B2 (ja) | LTFS(LinearTapeFileSystem)によって実現するWORMカートリッジのサポート | |
US20140331007A1 (en) | Virtual library controller and control method | |
US8539156B2 (en) | Storage subsystem and its logical unit processing method | |
JP2006011811A (ja) | 記憶制御システム及び記憶制御方法 | |
JP5729479B2 (ja) | 仮想テープ装置及び仮想テープ装置の制御方法 | |
US8131958B2 (en) | Storage system, storage device, and data updating method using a journal volume | |
JP6494787B2 (ja) | 分散ストレージシステム | |
US20180307419A1 (en) | Storage control apparatus and storage control method | |
JP5341062B2 (ja) | データ・ストレージ・システムによって処理されたデータを識別するための方法及びシステム |