TWI628540B - 用於執行透明大量儲存備份及快照的方法及電腦系統 - Google Patents
用於執行透明大量儲存備份及快照的方法及電腦系統 Download PDFInfo
- Publication number
- TWI628540B TWI628540B TW103128327A TW103128327A TWI628540B TW I628540 B TWI628540 B TW I628540B TW 103128327 A TW103128327 A TW 103128327A TW 103128327 A TW103128327 A TW 103128327A TW I628540 B TWI628540 B TW I628540B
- Authority
- TW
- Taiwan
- Prior art keywords
- snapshot
- snapshots
- data
- computer system
- sata
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004891 communication Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 10
- 238000005192 partition Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 claims 3
- 230000001131 transforming effect Effects 0.000 claims 2
- 238000004140 cleaning Methods 0.000 claims 1
- 230000004048 modification Effects 0.000 abstract description 4
- 238000012005 ligant binding assay Methods 0.000 description 28
- 230000006870 function Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 17
- 239000000872 buffer Substances 0.000 description 13
- 230000009466 transformation Effects 0.000 description 4
- 239000004020 conductor Substances 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Classifications
-
- 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
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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
-
- 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/1456—Hardware arrangements for backup
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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
- G06F3/065—Replication mechanisms
-
- 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/0673—Single storage device
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0032—Serial ATA [SATA]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
Abstract
本發明係關於提供對電腦系統大量儲存資料的保全功能,且更特定言之,係關於一種本端或遠端儲存裝置(諸如SATA儲存裝置)上的透明資料備份之系統及方法。根據本發明之態樣,該系統對作業系統及應用軟體層透明。此使得不必對檔案系統、裝置驅動器、作業系統或應用程式進行任何軟體修改或安裝專用應用程式或硬體。在實施例中,全部以硬體實施本發明之快照功能,且該快照功能經設計成不減緩系統之其餘部分之效能。
Description
本發明大體而言係關於一種用於儲存電腦系統資料的系統及方法,更特定言之,包括執行電腦系統大量儲存裝置(諸如SATA硬碟)之透明及/或自動備份及快照。
習知計算裝置通常包括一至多種習知類型可連接外部裝置(諸如滑鼠、鍵盤、無線數據機、大姆哥隨身碟、硬碟等)及內部裝置(諸如硬碟及SSD磁碟機)。
然而,該等裝置之介面(諸如串列AT附件(Serial AT Attachment;SATA))中的許多者之規格不具有備份寫入SATA裝置之資料的規定。增加資料之可靠性的一種方式係藉由執行專用軟體應用程式。此途徑之一缺點在於作業系統之間缺少交互操作性一一各個作業系統及檔案系統需要不同備份應用程式。另一缺點為需要具有用於備份的單獨儲存裝置。此使得系統配置複雜化。又,由於軟體及硬體的差異,系統管理者需要維護各個系統之單獨配置。示例性先前技術途徑包
括歐洲申請案第EP2407905號及歐洲申請案第EP2517144號。
效能係另一問題。基於軟體的備份系統大大影響了CPU效能且導致許多使用者關閉備份程式。
與此同時,存在眾多本將大大受益於有效率之大量儲存資料備份的應用程式,諸如用於在SATA大量儲存裝置上儲存敏感資料的應用程式。因此,仍需要有效率之技術用於執行大量儲存裝置(諸如SATA儲存裝置)之備份。
本發明係關於提供對電腦系統大量儲存資料的自動化功能,且更特定言之,係關於一種執行本端或遠端儲存裝置(諸如SATA儲存裝置)上的自動化及/或透明資料備份之系統及方法。根據本發明之態樣,該系統對作業系統及應用軟體層透明。此使得不必對檔案系統、裝置驅動器、作業系統或應用程式進行任何軟體修改或安裝專用應用程式或外部硬體。在實施例中,大部分或全部以硬體實施本發明之快照功能,且該快照功能經設計成不減緩系統之其餘部分之效能。
根據該等及其他態樣,根據本發明之實施例的電腦系統包括:大量儲存裝置;主機處理器,該主機處理器執行作業系統及應用程式,該作業系統及應用程式建立及使用儲存於大量儲存裝置上的資料;及安全處理器,該安全處理器管理大量儲存裝置上的空間,用於儲存資料之快照及備份複本之一或兩者,其中對於主機處理器獨立且透明地操作該安全處理器,及其中主機處理器不可獨立存取由安全處理器管理的空間。
100‧‧‧管理系統
102‧‧‧SATA主機
104‧‧‧安全SATA子系統
106‧‧‧遠端管理系統
108‧‧‧通訊通道/連接
108-1‧‧‧通訊通道
108-2‧‧‧通訊通道
110‧‧‧SATA裝置
112‧‧‧狀態訊息
114‧‧‧控制訊息
116‧‧‧資料訊息
120‧‧‧安全電腦
120-1‧‧‧安全電腦
120-2‧‧‧安全電腦
202‧‧‧SATA主機
210‧‧‧SATA裝置
214‧‧‧硬碟或固態硬碟
302-1‧‧‧SATA主機
304-1‧‧‧安全處理器系統
304-2‧‧‧安全處理器系統
310-2‧‧‧SATA裝置
314-2‧‧‧HDD/SDD
322‧‧‧SATA複合體
322-1‧‧‧SATA複合體
332-1‧‧‧主機處理器系統
332-2‧‧‧主機處理器系統
402‧‧‧SATA主機
404‧‧‧安全處理器系統
410‧‧‧SATA裝置
414‧‧‧HDD/SSD
432‧‧‧主機處理器系統
442‧‧‧連接
444‧‧‧裝置驅動器
446‧‧‧檔案系統
448‧‧‧作業系統
450‧‧‧應用程式
452‧‧‧快照管理器
454‧‧‧SATA驅動器
456‧‧‧SATA連接
462‧‧‧快照資料庫與應用程式
502‧‧‧SATA裝置核心
504‧‧‧SATA主機核心
506‧‧‧緩衝管理器
508‧‧‧資料緩衝器
510‧‧‧其他組件
600‧‧‧分區
602‧‧‧空間
604‧‧‧快照管理表
606‧‧‧空間
702‧‧‧控制器
704‧‧‧管理器
706‧‧‧管理器
708‧‧‧管理器
710‧‧‧資料緩衝管理器
712‧‧‧LSRT
714‧‧‧LLTT
716‧‧‧LPMT
720‧‧‧快照記錄表/SRT
722‧‧‧LBA變換表/LTT
724‧‧‧頁映射表/PMT/快照控制暫存器
726‧‧‧資料緩衝器
728‧‧‧快取記憶體
在結合附圖檢視本發明之特定實施例之以下描述後,本發明之該等及其他態樣及特徵將對彼等一般技藝熟練者變得顯而易見,其中:第1圖係圖示根據本發明之實施例用於保全SATA資料及通訊之示例性子系統之方塊圖;第2圖係圖示現有SATA通訊之方塊圖;第3圖係圖示根據本發明之實施例用於備份及/或保全SATA資料及通訊之示例性管理系統之方塊圖;第4圖係圖示如何在典型硬體及軟體層之資料流中包括根據本發明之實施例的示例性安全SATA子系統之方塊圖;第5圖係圖示根據本發明之實施例可在安全電腦中實施第4圖所示之快照管理器功能的示例性安全SATA複合體之最高階層方塊圖;第6圖係圖示根據本發明之實施例的示例性HDD/SSD分區之方塊圖;第7圖係圖示快照管理器及關聯映射表之示例性配置的方塊圖,該配置可實施諸如第4圖所示之快照管理器功能;第8圖係圖示根據本發明之實施例由快照管理器所使用之示例性LBA變換表之方塊圖;第9圖係圖示根據本發明之實施例由快照管理器所使用之示例性快照記錄表之方塊圖;以及
第10圖係圖示根據本發明之實施例由快照管理器所使用之示例性頁映射表之方塊圖。
現將參看圖式詳細描述本發明,將該等圖式提供作為本發明之說明性實例以便使得熟習此項技術者能夠實踐本發明。顯然,下文之諸圖及實例不意謂將本發明之範疇限制在單個實施例,而是經由所描述或所圖示元件中的一些或全部之互換可能存在其他實施例。此外,在可使用已知組件部分地或完全地實施本發明之某些元件的情況下,將僅描述對理解本發明所必需的此類已知組件之彼等部分,且將忽略此類已知組件之其他部分之詳細描述以免模糊本發明。除非本文另有指定,將對熟習此項技術者顯而易見的是,描述為以軟體實施之實施例不應受限於此,而可包括以硬體或軟體與硬體之組合實施的實施例,且反之亦然。在本說明書中,除非本文另有明確陳述,不應將展示單數組件的實施例視為限制性;確切而言,本發明意欲含有包括複數個相同組件的其他實施例,且反之亦然。此外,除非另有明確闡述,申請人不欲將說明書或申請專利範圍中的任何術語歸於不常見或特定的含義。進一步地,本發明含有本文經由說明所引用之已知組件的當前與未來已知等效物。
根據一般態樣,本發明之實施例使得能夠對於以其他方式將不安全SATA資料及通訊提供保全功能。根據一態樣,本發明之實施例實施大量儲存快照及/或備份。根據某些額外態樣,藉由本發明之實施例所執行的保全功能可對上游
主機及下游裝置邏輯透明。
第1圖係根據本發明之實施例之管理系統100之系統階層方塊圖。如圖所示,系統100包括受管理的安全電腦120,該電腦包含SATA主機102、安全SATA子系統104及SATA裝置110。
在根據本發明之實施例之一非限制示例性配置中,安全電腦120係獨立電腦系統,與習知桌上型電腦、膝上型電腦或平板電腦類似。在如此之實例中,藉由SATA主機埠與主機CPU(例如,x86)、習知作業系統(諸如Windows)及關聯裝置驅動器軟體通訊來實施主機102。根據本發明之某些態樣,在此實例中,子系統104之操作及功能對主機CPU及關聯作業系統及應用軟體完全透明。此外,使用者對安全電腦120之操作體驗與對習知桌上型電腦、膝上型電腦或平板電腦之體驗相同,但該安全電腦具有本發明之額外後臺備份及保全功能。因此,儘管可在電腦上執行的應用軟體為實質上無限制,但藉由強制執行安全政策之子系統106嚴格控制裝置110之使用,如下文將更詳細描述。
在該等及其他實施例中,子系統104較佳為嵌式系統。因此,該子系統執行與嵌式處理器一起安裝的指定軟體系統,且在任何情況下電腦之終端用戶無法修改該子系統。根據本發明之態樣,子系統104負責執行保全功能,諸如執行SATA裝置110上的資料之透明快照及/或備份。
在同在申請中之申請案第13/971,677號(UNI-014)中描述與安全電腦120中的主機CPU一起實施子系統104的
示例性架構,該申請案之內容以引用之方式併入本文。在藉由本揭示案教示後,熟習此項技術者應將理解如何以安全電腦120之各種配置實施本發明之原理。
SATA裝置110包含內部或外部儲存裝置(諸如磁碟機、固態磁碟機等)中所包括的SATA標準介面。
儘管第1圖圖示僅一個SATA裝置110及SATA主機102,但應瞭解,單個電腦120中可存在若干SATA裝置及主機,藉由各別子系統104或相同子系統104管理該等SATA裝置及主機。此外,儘管將相關於SATA標準詳細描述本發明,但在藉由本揭示案教示後,熟習此項技術者將能夠用根據類似標準(諸如eSATA、mSATA等)的裝置及通訊實施本發明。更進一步地,應瞭解,可將本發明應用於SATA之各個當前或未來版本(例如,SATA修訂版1.0、2.0、3.0等)。
在同在申請中之申請案第13/971,582號(UNI-007)中更詳細地描述藉由可經調適用於本發明的安全SATA子系統104執行之保全功能類型之各種態樣,該申請案之內容以引用之方式全部併入本文。
第1圖進一步圖示遠端管理系統106,藉由通訊通道108將該遠端管理系統耦接至安全電腦120之安全子系統104。第1圖亦圖示可經由通訊通道108發送的不同訊息類型,特定而言為自安全子系統104發送至遠端管理系統106的狀態訊息112、自遠端管理系統106發送至安全子系統104的控制訊息114,以及自安全子系統104至遠端管理系統106的資料訊息116。
儘管第1圖圖示遠端管理系統106耦接至僅一個安全子系統104,但是應顯而易見的是,可將一或更多個額外安全子系統104類似地耦接至遠端管理系統106。此外,至遠端管理系統106的連接108並非本發明之所有實施例所必需。舉例而言,可藉由安全子系統104完全本端地執行本發明之實施例中的快照及備份功能。
可以各種方式實施通道108,該等方式可能取決於將由系統106管理的裝置數目及類型。通道108可為系統106與子系統104之間的單獨直接點對點鏈路。在其他實施例中,可藉由在許多子系統104之間共用的傳輸媒體實施通道108。在該等及其他實施例中,媒體可為有線或無線媒體(諸如乙太網路或無線LAN)之任何組合。在該等及其他實施例中,可藉由使用專屬協定或習知協定(諸如UDP或TCP)的各種類型的公眾網路及專用網路及/或該等網路的各種組合來實施通道108。在一些實施例中,對經由通訊通道108發送(諸如經由安全VPN連接發送)的資料加密以改良安全性。
根據一般態樣,在本發明之實施例中,遠端管理系統106負責管理政策,該等政策可包括允許裝置之列表以及是否執行磁碟快照及/或備份及多久執行一次。遠端管理系統106可進一步包括指定在何處備份系統106內的資料之功能,將使用的特定快照建立演演算法(例如,基於時間、基於活動、基於儲存器大小、基於使用者、任何該等之組合等),等等。基於該等列表及附接於電腦120之介面的裝置,遠端管理系統106將適宜配置資訊經由通道108發送至子系統
104。
因此,自遠端管理系統106發送至一或更多個安全SATA子系統104的控制訊息114含有不同配置指令及設定(諸如將於下文更詳細描述之快照排程)。自一或更多個安全SATA子系統104發送至遠端管理系統106的狀態訊息112含有不同通知及警告。狀態訊息112之實例包括附接裝置110之通知、新快照之建立、快照之狀態、使用者活動級等。自一或更多個安全SATA子系統104發送至遠端管理系統106的資料訊息116含有來自安全裝置的資料,諸如硬碟快照。
在同在申請中之申請案第13/971,711號(UNI-008)中更詳細地描述可經調適用於本發明中的遠端管理系統及/或安全政策之各種態樣,該申請案之內容以引用之方式全部併入本文。
如前文所論及,本發明之態樣包括將保全功能提供給以其他方式將不安全的SATA介面。第2圖圖示現有SATA系統。該系統由SATA主機202及SATA裝置210組成。如所知,SATA使用點對點架構。SATA主機與SATA裝置之間的實體連接不在其他主機及裝置之間共用。在常見實施中,PC系統具有支援SATA主機202的SATA控制器,該等控制器被裝入主機板中,通常以兩個至八個埠為特徵。可經由插入系統匯流排插槽(例如,PCI)的添加式SATA主機配接器安裝額外埠。通常經由具有單獨傳輸與接收導體對的標準7-導體資料電纜提供SATA主機202與SATA裝置210之間的資料連接(在此實例中經整合至硬碟或固態硬碟214中),
各個導體對使用差分訊號傳輸。在第2圖所示之先前技術系統中,SATA主機與裝置之間交換的所有資料為未加密的。
第3圖係圖示根據本發明之實施例之另一示例性管理系統300之方塊圖。在此實例中,系統管理經由各別通訊通道108-1及108-2連接至遠端管理系統106的兩個安全電腦102-1及102-2之保全。
與第2圖相比較可看出,藉由包括安全處理器系統304、遠端管理系統106及通訊通道108使得系統300之拓撲安全。
如上文關聯第1圖之更概括實例所闡述,及如下文將更詳細描述,安全處理器子系統304之實施例負責可能在藉由遠端管理系統106所提供之配置所界定的預先界定離散時間點處建立儲存於HDD/SDD 314上的資料之快照。安全處理器子系統304亦可執行與SATA介面相關的其他保全功能(諸如透明加密/解密、病毒掃描等),如同在申請中之申請案第13/971,732號(UNI-012)中更詳細描述。
如第3圖之實例所示,主機處理器系統332包括主機CPU、SATA主機302及其他子系統。其他子系統可包括音訊/視訊子系統(例如,相機、網頁攝影機、麥克風、圖形與音訊處理器等)、I/O子系統(例如,USB、火線等)及網路連接子系統(例如,乙太網路)。在同在申請中之申請案第13/971,582號(UNI-007)、第13/971,604號(UNI-009)、第13/971,632號(UNI-010)及第13/971,692號(UNI-015)中更詳細描述保全該等其他子系統之態樣。在藉由本揭示案教示後,
熟習此項技術者應將理解可如何與某些或所有該等其他發明一起實踐本發明之快照功能。
如第3圖之實例進一步所示,安全處理器系統304包括安全CPU、SATA複合體322及對應於主機處理器系統332之其他子系統的其他子系統。如圖所示,在主機處理器系統332中的SATA主機302與SATA裝置310之間的通訊路徑中安置SATA複合體322用於執行本發明之透明快照功能。
通訊通道108負責安全傳輸自遠端管理系統106至安全處理器系統304的配置與設定及系統304與管理系統106之間的狀態及指令訊息。通常使用乙太網路實施通訊通道108。在本發明之實施例中,通道108亦主要負責載運磁碟快照及/或備份資料。可在發送至管理系統106前加密及視情況壓縮此快照/備份資料。
第4圖係根據本發明之實施例透明地建立SATA裝置內容之快照的系統之另一視圖,在涉及資料流的主機處理器系統432與安全處理器系統404兩者中分解為軟體層及硬體層。
在此實例中,與SATA裝置410關聯的硬體裝置係實體儲存裝置414(諸如硬碟或SSD)。SATA裝置410負責將由工業標準SATA協定所載運的資料轉換成由實體儲存裝置414所使用之特定於供應商的資料格式。經由連接442及456(諸如SATA標準電纜)將SATA裝置410連接至安全處理器系統404。
如圖所示,本發明之此實施例中的安全處理器系統
404包括快照管理器452。管理器452執行於SATA主機402與裝置410之間傳遞的資料之透明快照及/或備份。根據本發明之透明性態樣,展示SATA驅動器454代表安全處理器404之總體功能,以便經由SATA連接442及456在SATA主機402與SATA裝置410之間提供另外正常連接。
如第4圖進一步圖示,裝置驅動器444及檔案系統446在SATA主機402上方的軟體層中。檔案系統之實例為FAT32、NTFS或ext4。根據本發明之態樣,SATA裝置驅動器444與檔案系統446兩者皆不知資料為加密的事實。
作業系統448在裝置驅動器444及檔案系統446上方的軟體層中。作業系統之實例為Linux、Mac OS、Windows、Android或iOS。在作業系統448上方的軟體層圖示應用程式450。
如第4圖進一步所示,遠端管理系統106之此實例包括快照資料庫與應用程式462,該快照資料庫與應用程式負責處理所接收之快照資料及在快照資料庫中儲存資料。應用程式462之實施例亦負責指導安全處理器404是否執行快照及多久執行一次及/或是否將快照資料發送至遠端管理系統106及何時發送。在其他實施例中,藉由安全處理器404預界定該等配置。
應注意,應用程式462及安全處理器404之實施例亦具有使用下文將更詳細描述之快照管理表基於隨時間發送之累積快照恢復安全電腦120之HDD/SSD之內容(至任何給定時期)以及擷取日期回溯到給定資料(亦即,恢復特定快
照)的單個或群組檔案的能力。此功能較佳地暴露於系統106之系統管理者之控制下,且該功能亦可向電腦120之給定使用者(具有適宜許可)授權。
安全處理器404及管理器452之實施例亦實施「近/遠線備份」政策。在此政策中,近線保存近期快照(在磁碟機上)及經由網路遠線保存較老快照(在備份伺服器/NAS/SAN或甚至磁帶上)。安全處理器404及管理器452之實施例亦可實施較大磁碟機(例如,使用「半虛擬」磁碟機,該磁碟機將以更少的錢提供更多儲存)。舉例而言,安全電腦120中的1TB磁碟機可用於實施(「半虛擬」)2TB磁碟機,其中額外的1TB位於(較遠端)備份伺服器上。此將利用智慧型位址(LBA)變換演算法。應注意,此與使用如上文所論述實施快照的位址變換不同。
安全處理器404及管理器452之額外或替代實施例亦實施基於情境的儲存器。存在PC上所使用及儲存的不同文件類型(或資料類型),例如:Word文件、圖片、音樂、視訊、電子郵件等。安全處理器404及管理器452之實施例在遠端備份伺服器上儲存容易且快速擷取的較小項目(例如,小電子郵件、word文件或pdf檔案)及/或不常使用的項目(例如,將電子郵件保存檔從outlook中壓縮及儲存下載)。將藉由安全處理器404在後臺中對主機CPU透明地施行此舉。安全處理器404將需要瞭解由主機作業系統448及應用程式450行為所儲存之檔案類型。此可藉由設定磁碟機存取獲悉各種作業系統或應用程式行為來施行。
如下文將更詳細描述,快照管理器452之實施例負責管理磁碟機414中用於快照的已使用及未使用的記憶體區塊,包括產生新快照及刪除現有快照。在實施例中,局部磁碟機可僅儲存有限數目之快照,且因此隨時間推移,當需要建立新快照時,可使用應用程式462在備份伺服器106上備份較老快照(通常為磁碟機上的最老快照)及隨後刪除較老快照以便為新快照騰出空間。
第5圖係根據本發明之實施例之示例性SATA複合體322之局部方塊圖。如圖所示,除快照管理器452外,該複合體包括SATA裝置核心502、SATA主機核心504、緩衝管理器506、資料緩衝器508及其他組件510。
根據本發明之透明性態樣,作為與對應SATA主機402及SATA裝置410同級的裝置操作SATA裝置核心502及主機核心504。因此,從協定立場看,顯現出本發明之安全子系統對SATA主機402及SATA裝置410透明。根據本發明之態樣,核心502及504為標準全特徵SATA核心。在藉由本揭示案以及藉由現有及未來SATA說明書教示後,熟習SATA裝置技術者應將理解如何實施SATA裝置核心502及主機核心504。
資料緩衝器508(例如,FIFO)緩衝流動至SATA主機402及裝置410/自SATA主機402及裝置410流動的資料。緩衝管理器506執行總緩衝控制功能,諸如追蹤可用空間、管理自不同來源的緩衝讀取與寫入等。
其他組件510包括實施額外保全功能(諸如SATA
通訊之透明加密/解密、病毒掃描等)的彼等組件,如同在申請中之申請案第13/971,732號(UNI-012)中更詳細描述。
應注意,電腦120及/或SATA複合體322可包括比第5圖所示之彼等更少的組件,例如取決於在安全電腦120之特定實施例中所支援的SATA保全功能之特定組合。應更進一步注意,儘管為了便於說明而單獨圖示,可以硬體、軟體或韌體之任何組合一起實施SATA複合體322及安全處理器系統404之某些組件或所有組件。在一示例性實施中,在單個ASIC或SOC中提供所有該等組件。
在下文將更詳細描述之本發明之示例性實施例中,快照管理器452利用位址再映射方案,其中將用於傳入SATA資料轉移指令的至HDD/SSD 414中位置之位址再映射至替代位址。藉由改變該再映射,可在HDD/SSD 414中對主機處理器完全透明地建立及儲存由主機處理器儲存或使用的資料之多個快照及/或備份。同時,藉由保持表完全描述該再映射,快照管理器452確保主機處理器能夠存取最當前儲存資料,而在HDD/SSD 414中維護先前快照。根據指定排程或來自遠端管理系統106的指令,亦可藉由安全處理器系統存取快照及將快照發送至遠端管理系統106。
第6圖描繪根據本發明之實施例藉由用於實施快照的快照管理器452所維護的HDD/SSD 414之示例性分區。
如圖所示,分區600包括用於儲存由安全CPU所使用之資料的空間602、快照管理表604及用於主機處理器資料的空間606,該主機處理器資料經儲存為藉由表604界定及藉
由快照管理器452管理的兩個或兩個以上之快照。應顯而易見的是,空間606為主機CPU對磁碟機414讀取與寫入的實際空間。根據本發明之態樣,空間606為總實體可用磁碟空間之子集。舉例而言,若安全電腦120具有2TB磁碟機,主機CPU可僅「查看」在區域606中使用快照所儲存的1TB之可用資料空間,其餘者被空間602及604佔據。應進一步注意,儘管為了便於說明在第6圖中將空間602、604及606全部圖示為相連空間,但此並非必需。確切而言,可將空間602、604及606中的一些或全部實體分段,以便位於HDD/SSD 414中的各種及混合實體位置中。
如上文所論及,在表中保存替代位址之映射。快照管理器452負責將映射表保存至HDD/SSD 414中的空間604。在正常操作期間,映射表對於局部可存取記憶體中的快照管理器452至少部分地可用。在實施例中,變換表非常大且因此需要在磁碟機414上儲存完整的表。同時,為了加速磁碟機存取,在SATA複合體322(及/或安全處理器304之DDR)內於晶片上「快取」表之子集。不時地,需要對磁碟機寫出(排清)快取記憶體。若當前變換指令之位址不在快取記憶體中,則對快取記憶體讀取磁碟機上的表之新區段,該新區段包括所欲變換位址。可需要首先將快取記憶體之區段排清至磁碟機以為新區段騰出空間。存在多種演算法用於決定排清哪個區段(例如,最近使用(last recently used;LRU)等),該等演算法為熟習此項技術者所熟知及可用於本發明之實施例中。
對於由主機處理器系統發佈及由SATA裝置核心502截取的讀取指令,快照管理器452使用用指令接收之位址以查找變換位址及轉發變換位址及讀取指令至SATA主機核心504。根據需要,可將傳入指令分解為對磁碟機414的多個指令。對於由SATA裝置核心502截取的寫入指令,快照管理器452自位址之堆疊擷取未使用位址以用作寫入資料的再映射磁碟位址及轉發再映射位址及寫入指令至SATA主機核心504。若主機處理器432對磁碟機上的相同(邏輯)位置寫入第二次或更多次(亦即,針對給定有效快照),則將資料變換為與最後寫入相同的位置(不需要發現未使用位址)。藉由快照管理器452維護未使用位址之堆疊。當安全處理器決定應啟動資料之新快照時,快照管理器452將自主機處理器系統暫停指令之處理及在空間604中保存當前變換表。如上文所闡述,此可涉及將最老快照備份至系統106上的備份伺服器,刪除該最老快照及建立新快照。將變換表604快取記憶體週期性排清至磁碟機以維護一致性。亦將一致的表自磁碟機發送至備份伺服器。
第7圖係根據本發明之實施例之示例性快照管理器452之方塊圖。
如第7圖之實例所示,快照管理器452維護三個表以支援快照功能:快照記錄表(Snapshot Record Table;SRT)720、LBA變換表(LBA Translation Table;LTT)722及頁映射表(Page Map Table;PMT)724。如所知,LBA代表邏輯區塊位址,該邏輯區塊位址係SATA協定中所界定的基本定址單
元。與LTT 722相關,Ns表示快照之最大數目(例如,八個)。可配置該系統支援至多Ns個快照之任何數目。快照0表示基本快照。在實施例中,上述表比較大及儲存於HDD/SSD 414上。舉例而言,彼等表可到達100百萬位元組或更多。
由於SATA HDD/SSD存取遭受高潛時,LTT、SRT及LTT表已在對快照管理器可存取之局部快取記憶體728中快取複本。局部快取記憶體之實際實施取決於晶片架構;該晶片架構可為晶片上記憶體或者晶片外RAM。如第7圖所示,快取表為LSRT 712、LLTT 714及LPMT 716,其中第一個「L」代表「局部」。快取表712、714及716的各別管理器704、706及708執行以下操作:初始化快取記憶體,將新項目添加至快取記憶體,自快取記憶體讀取現有項目,及用新項目替換現有項目。
在位址再映射期間,頁為由快照管理器452所使用的最小資料單元。自實際LBA至替代LBA執行再映射。通常,頁大小為實體磁盤機之若干扇區(例如,512位元組),例如八扇區。
在LTT 720中保存頁之映射。各個快照對應於單個LTT(例如,快照0至Ns-1)。當藉由快照管理器處理SATA指令時,管理器706根據需要將完整LTT 722之子集區段自磁碟機414加載至快取記憶體728。在實施例中,存在八個LLTT 714在快取記憶體728中加載,且藉由管理器706及控制器702完全可存取該等LLTT。
各個LTT 722僅含有自最後快照以來已改變之再映
射頁。使用SRT 720指示哪些頁對於任何LTT 722有效。管理器704將SRT 720之部分自磁碟機414加載至快取記憶體728,使得藉由管理器702及704可存取。在實施例中,存在八個LSRT 714加載至快取記憶體728中。
PMT 724係用於在寫入異動期間將傳入頁再映射至可用實體頁中。管理器708將PMT 724之部分自磁碟機414加載至快取記憶體728,使得藉由管理器708及控制器702可存取。
在管理器452之實施例之大體操作中,LTT管理器706經由快照控制器702接受來自SATA裝置核心502的與讀取及寫入指令關聯之LBA請求及執行位址變換。LTT管理器706查詢寫入操作上的LSRT 712以查看是否已針對當前快照變換當前指令。若沒有,則更新LSRT 712及管理器706指示管理器708更新LPMT 716。
LTT 722為變換表,該等變換表將所有主機處理器系統指令LBA映射至磁碟機414 LBA。對於已啟動的各個快照,存在唯一LTT 0至LTT Ns。存在基本快照LTT 0,該基本快照LTT 0總是界定磁碟機上的資料之最老版本。藉由快照控制器702將基本快照LTT的起始LBA及大小程式化至快照暫存器724。在下一順序的LBA處保存各個後續快照LTT以形成磁碟機上的資料之大區塊,該區塊含有針對所有可能快照的LTT。快照控制器702負責程式化暫存器724,該等暫存器界定磁碟機414上的LTT 722之位置。
資料緩衝管理器710及資料緩衝器726可與上文關
於第5圖所描述之彼等組件類似。該等組件管理SATA指令之資料至磁碟機/自磁碟機之所有轉移。藉由快照位址(LBA)變換邏輯控制定址。
第8圖圖示根據本發明之實施例之LTT 722之示例性實施。
各個LTT中的項目之數目n個取決於磁碟機之虛擬大小以及儲存頁之粒度。本發明之實施例支援一扇區頁大小及八扇區頁大小。在LTT中每個項目具有32位元的情況下,所支援的具有一扇區頁大小之最大實體磁碟為2TB。所支援的具有8扇區頁大小的最大實體磁碟大小為16TB。
如上文所論及,管理器706將LTT 722之部分加載至局部快取記憶體。在第8圖所示之實例中,將LBA 100處開始之來自LTT 0的m個項目加載至LLTT 0中。快照控制暫存器718界定LLTT 714,且該等暫存器界定各個LLTT中所引用之LBA。通常在LTT管理器706之請求下藉由快照控制器702加載LLTT 714。亦可在安全CPU之請求下加載LLTT。LLTT常駐於可定址記憶體區塊中,該記憶體區塊可藉由快照管理器經由安全處理器404之內部結構(例如,AXI結構)存取。將在LTT 722中僅更新在當前快照為有效的同時已寫入的彼等LBA。可在較早快照LTT 722中界定在當前快照LTT中尚未更新的任何LBA。SRT 720界定對於各個快照已經更新之彼等LBA。
藉由快照控制器702將LLTT 714不時保存至磁碟機LTT 722。快照暫存器718界定當前快照,及快照控制器702
使用當前快照資訊將LLTT 714保存至LTT 722之適當區域。
當安全處理器決定廢除快照時,快照管理器424之實施例將已刪除的LTT與基本LTT有效合併。安全處理器經由快照管理器424掃描SRT 720以決定用已廢除快照更新哪些LBA。必須藉由安全處理器404將用於彼等更新之LBA的變換頁位址複製到基本快照LTT。必須將基本快照LTT中的替換頁位址標記為在PMT 724中可用,使得對於新的寫入指令可由LTT管理器706使用該位址。一旦已將所有需要項目轉移至基本LTT,安全處理器404寫入快照控制暫存器718以禁止已廢除快照。最終,安全處理器404使得已廢除快照的SRT 720項目被清除。
第9圖圖示根據本發明之實施例之SRT 720之示例性實施。
如第9圖所示,SRT 720包括針對磁碟機414中的各個LBA之項目。在所示實例中,在SRT 720中的各個偏移處存在32位元項目,各個項目對於各個LBA具有八位元。在此實例中,八個位元對應於快照之最大數目。
SRT 720識別自前一快照以來哪些LBA已改變。SRT 720之實施例支援至多八個快照。快照0被視為基本快照,且不可廢除。隨著將寫入指令發送至磁碟機,在當前快照LTT中僅更新寫入LBA之變換位址。SRT具有一位元,該位元對應於所有LTT中的各個項目。此意謂每個LTT項目及每個快照存在一位元。當在LTT中更新項目時,將映射彼更新之SRT中的對應位元設置成「1」以記錄變化。舉例而言,0x00001101
表示對此LBA的快照數目3、2及0。隨著執行寫入指令,LTT管理器706引起LSRT 712中的適宜位元被設置。
將清除SRT 720中的位元之步驟留給安全處理器。當廢除快照時,安全處理器將清除SRT中的位元。一旦將所廢除快照與基本快照合併之所有其他任務完成,應將清除對應於所廢除快照之SRT中的所有位元。
在第9圖之實例中,對於LTT中的每一32位元項目在SRT 720中存在一位元。在支援八個快照且因此八個快照LTT之實施例中,對於虛擬磁碟機中的各頁在SRT 720中存在一位元組。針對2,147,483,648位元組之SRT大小,支援具有一扇區頁大小的1TB虛擬磁碟機或支援具有八扇區頁的8TB虛擬磁碟機。
第10圖圖示根據本發明之實施例之PMT 724之示例性實施。
如第10圖所示,PMT 724包括各個偏移處的32位元記錄,其中各個位元對應於磁碟機414中的一LBA。
PMT 724係界定哪些頁位址已用於再映射磁碟機414 LBA的表。對於磁碟機之各個頁在PMT 724中存在一位元。當在PMT中設置位元時,將對應頁位址標記為已使用(設置為「1」)。當在PMT中清除位元時,將對應頁位址標記為空閒(設置為「0」)。安全處理器404中的管理器704及/或管理器708將PMT之子集加載至局部快取記憶體728中。隨著藉由快照管理器執行寫入指令,快照控制器702掃描局部加載之LPMT 716以發現下一可用頁。當將下一可用頁位址
指派給LBA時,藉由快照控制器702自動設置LPMT 716中的對應位元。一旦快照已掃描及使用了局部PMT中所界定的所有可用頁位址,則快照控制器702將中斷安全處理器。安全處理器隨後負責引發在局部記憶體728中加載PMT 724之新的子集。
僅可藉由安全處理器清除PMT 724中的位元。安全處理器負責引發基本快照LTT與已廢除快照LTT合併。在實施例中,已廢除快照係除基本快照以外的最老現有快照。隨著將LTT項目自已廢除快照LTT複製到基本快照LTT,基本LTT之替換項目被釋放,及必須在對應PMT項目中清除該等替換項目,使得經釋放的頁位址可用於未來寫入指令。
PMT之大小取決於區塊大小。對於1扇區之區塊大小,PMT表為32百萬位元組以覆蓋512十億位元組之實體驅動大小。對於8扇區之區塊大小,4百萬位元組PMT覆蓋4太位元組。
儘管已參看本發明之較佳實施例特定描述本發明,但對一般技藝熟練者應容易顯而易見的是,可在不脫離本發明之精神及範疇的情況下對形式及細節施行變化及修改。隨附申請專利範圍意欲包含此類變化及修改。
Claims (40)
- 一種電腦系統,該電腦系統包含:一大量儲存裝置;一主機處理器,該主機處理器執行一作業系統及應用程式,該作業系統及應用程式建立及使用儲存於該大量儲存裝置上的資料;一快照管理器,該快照管理器管理該大量儲存裝置上的空間,用於儲存該資料之快照及備份複本中之一或兩者,其中對於該主機處理器獨立且透明地操作該快照管理器,及其中該主機處理器不可獨立存取由該快照管理器管理的該空間。
- 如請求項1所述之電腦系統,其中該快照管理器係一安全SATA複合體的部分。
- 如請求項2所述之電腦系統,其中該SATA複合體支援以1.5、3.0及6.0Gbs之速度操作之SATA。
- 如請求項1所述之電腦系統,其中該快照管理器經由一網路與一遠端管理系統通訊以進一步管理該空間。
- 如請求項4所述之電腦系統,其中該網路包含乙太網路。
- 如請求項4所述之電腦系統,其中該快照管理器經由該網路將該資料中的特定資料發送至該遠端管理系統。
- 如請求項6所述之電腦系統,其中該特定資料包含複數個快照中的一最老快照。
- 如請求項6所述之電腦系統,其中該特定資料包含複數個快照中的一最近最少使用之快照。
- 如請求項6所述之電腦系統,其中該快照管理器在發送該特定資料至該遠端管理系統後刪除該特定資料。
- 如請求項1所述之電腦系統,其中該受管理的空間包含一單獨磁碟分區。
- 如請求項10所述之電腦系統,其中該單獨磁碟分區不可存取該主機處理器。
- 如請求項1所述之電腦系統,該電腦系統進一步包含由該快照管理器使用之複數個快照管理表,以識別、管理及存取由該主機處理器所建立及使用的該資料之複數個不同快照。
- 如請求項12所述之電腦系統,其中該複數個快照管理表包括用於該複數個不同快照之各者的一LBA變換表。
- 如請求項12所述之電腦系統,其中該複數個快照管理表包括一快照記錄表,該快照記錄表包括每個分區區塊中的一個項目,該快照記錄表指示在哪些快照中寫入彼區塊。
- 如請求項12所述之電腦系統,其中該複數個快照管理表包括一頁映射表,該頁映射表指示哪些位址為空閒的以用於變換。
- 如請求項12所述之電腦系統,其中該複數個快照包括一基本快照,該基本快照保存截至該最後保存之快照之所有該資料及一給定數目之局部快照以擷取該等最近快照。
- 如請求項12所述之電腦系統,其中在該大量儲存裝置上的一單獨分區中維護該複數個快照管理表。
- 一種藉由一電腦系統之一主機處理器建立儲存於一大量儲存裝置上的資料之快照的方法,該方法包含以下步驟:管理該大量儲存裝置上的空間以便儲存該等快照;及建立該資料之快照及在該大量儲存裝置上的該受管理的空間中儲存該等快照,其中對於該主機處理器獨立且透明地執行該管理、建立及儲存之步驟,及其中該主機處理器不可獨立存取用於該等快照的該受管理的空間。
- 如請求項18所述之方法,其中該管理、建立及儲存之步驟並未引起該主機處理器對該大量儲存裝置的存取而違反任何大量儲存裝置之規格要求。
- 如請求項19所述之方法,其中該大量儲存裝置為一SATA裝置,及該等規格要求包括通訊潛時、資料完整性及資料率中的一或更多者。
- 如請求項18所述之方法,該方法進一步包含以下步驟:自一遠端管理系統接收一快照配置。
- 如請求項21所述之方法,其中該快照配置包括頻率、排程、快照大小及讀取/寫入活動中的一或更多者。
- 如請求項21所述之方法,該方法進一步包括以下步驟:允許與該遠端管理系統關聯的一管理者手動排程該等快照。
- 如請求項18所述之方法,該方法進一步包含以下步驟:經由一網路將該等快照中之特定者發送至一遠端管理系統。
- 如請求項24所述之方法,其中發送該等特定快照之一頻率取決於網路條件。
- 如請求項25所述之方法,其中該等網路條件包括可用頻寬,及其中當可用頻寬愈高時發送快照愈頻繁。
- 如請求項18所述之方法,該方法進一步包含以下步驟:對應於一指定時間點恢復快照資料。
- 如請求項27所述之方法,其中恢復之步驟包括以下步驟:自一遠端備份伺服器擷取該快照資料。
- 如請求項18所述之方法,該方法進一步包含以下步驟:維護複數個快照管理表,以識別、管理及存取由該主機處理器所建立及使用的該資料之複數個不同快照。
- 如請求項29所述之方法,其中該複數個快照管理表包括用於該複數個不同快照之各者的一LBA變換表。
- 如請求項29所述之方法,其中該複數個快照管理表包括一快照記錄表,該快照記錄表包括每個分區區塊中的一個項目,該快照記錄表指示在哪些快照中寫入彼區塊。
- 如請求項29所述之方法,其中該複數個快照管理表包括一頁映射表,該頁面映射表指示哪些位址為空閒的以用於變換。
- 如請求項29所述之方法,其中維護之步驟包括以下步驟:在該大量儲存裝置上的一單獨分區中儲存該複數個快照管理表。
- 如請求項33所述之方法,其中維護之步驟包括以下步驟:在一局部記憶體中快取該複數個快照管理表。
- 如請求項34所述之方法,其中該局部記憶體係一晶片上記憶體。
- 如請求項34所述之方法,其中該局部記憶體係一晶片外DDR記憶體。
- 如請求項34所述之方法,其中維護之步驟包括以下步驟:將該等表排清回到該大量儲存裝置。
- 如請求項37所述之方法,其中週期性或在一系統關閉前執行排清之步驟。
- 如請求項18所述之方法,其中管理該空間之步驟包括以下步驟:變換由該主機處理器所指定的區塊讀取/寫入磁碟位址以便存取該資料。
- 如請求項39所述之方法,其中執行變換之步驟以維護該大量儲存裝置上的該資料之複數個單獨快照。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/971,651 US9384150B2 (en) | 2013-08-20 | 2013-08-20 | Method and apparatus for performing transparent mass storage backups and snapshots |
US13/971,651 | 2013-08-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201516658A TW201516658A (zh) | 2015-05-01 |
TWI628540B true TWI628540B (zh) | 2018-07-01 |
Family
ID=52481384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103128327A TWI628540B (zh) | 2013-08-20 | 2014-08-18 | 用於執行透明大量儲存備份及快照的方法及電腦系統 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9384150B2 (zh) |
TW (1) | TWI628540B (zh) |
WO (1) | WO2015026833A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI740429B (zh) * | 2020-03-26 | 2021-09-21 | 威聯通科技股份有限公司 | 管理資料備份的方法及系統 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9384150B2 (en) | 2013-08-20 | 2016-07-05 | Janus Technologies, Inc. | Method and apparatus for performing transparent mass storage backups and snapshots |
US9215250B2 (en) | 2013-08-20 | 2015-12-15 | Janus Technologies, Inc. | System and method for remotely managing security and configuration of compute devices |
US9231921B2 (en) | 2013-08-20 | 2016-01-05 | Janus Technologies, Inc. | System and architecture for secure computer devices |
US10021120B1 (en) * | 2015-11-09 | 2018-07-10 | 8X8, Inc. | Delayed replication for protection of replicated databases |
US11010475B1 (en) | 2016-10-07 | 2021-05-18 | Janus Technologies Inc. | Secure computer with multiple operating systems |
US10635632B2 (en) | 2017-08-29 | 2020-04-28 | Cohesity, Inc. | Snapshot archive management |
US11874805B2 (en) | 2017-09-07 | 2024-01-16 | Cohesity, Inc. | Remotely mounted file system with stubs |
US10719484B2 (en) | 2017-09-07 | 2020-07-21 | Cohesity, Inc. | Remotely mounted file system with stubs |
US11321192B2 (en) | 2017-09-07 | 2022-05-03 | Cohesity, Inc. | Restoration of specified content from an archive |
KR102485368B1 (ko) | 2018-01-15 | 2023-01-05 | 삼성전자주식회사 | 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체 |
US11487701B2 (en) | 2020-09-24 | 2022-11-01 | Cohesity, Inc. | Incremental access requests for portions of files from a cloud archival storage tier |
US11880603B2 (en) * | 2022-04-20 | 2024-01-23 | Western Digital Technologies, Inc. | Storage system and method for preserving overwritten data to allow a future rollback |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070067585A1 (en) * | 2005-09-21 | 2007-03-22 | Naoto Ueda | Snapshot maintenance apparatus and method |
US20070174569A1 (en) * | 2006-01-26 | 2007-07-26 | Infortrend Technology, Inc. | Method of managing data snapshot images in a storage system |
TW200951822A (en) * | 2008-06-11 | 2009-12-16 | Jin-Feng Li | Disk-based operating environment management system and method thereof |
US20120079221A1 (en) * | 2010-09-28 | 2012-03-29 | Swaminathan Sivasubramanian | System And Method For Providing Flexible Storage And Retrieval Of Snapshot Archives |
US20120166582A1 (en) * | 2010-12-22 | 2012-06-28 | May Patents Ltd | System and method for routing-based internet security |
Family Cites Families (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4598170A (en) | 1984-05-17 | 1986-07-01 | Motorola, Inc. | Secure microprocessor |
JP2831703B2 (ja) | 1989-06-23 | 1998-12-02 | 株式会社東芝 | 自動フロアプラン演算装置 |
US5715174A (en) | 1994-11-15 | 1998-02-03 | Absolute Software Corporation | Security apparatus and method |
US5724027A (en) | 1995-09-28 | 1998-03-03 | Intel Corporation | Method and apparatus for providing system security to personal computer systems using transparent system interrupt |
US5946469A (en) | 1995-11-15 | 1999-08-31 | Dell Computer Corporation | Computer system having a controller which emulates a peripheral device during initialization |
US6088802A (en) | 1997-06-04 | 2000-07-11 | Spyrus, Inc. | Peripheral device with integrated security functionality |
US6061794A (en) | 1997-09-30 | 2000-05-09 | Compaq Computer Corp. | System and method for performing secure device communications in a peer-to-peer bus architecture |
US6453446B1 (en) | 1997-12-24 | 2002-09-17 | Magma Design Automation, Inc. | Timing closure methodology |
US6243851B1 (en) | 1998-03-27 | 2001-06-05 | Xilinx, Inc. | Heterogeneous method for determining module placement in FPGAs |
US6546491B1 (en) | 1999-03-19 | 2003-04-08 | International Business Machines Corporation | Securing mobile computer systems in a corporate environment |
US7225333B2 (en) | 1999-03-27 | 2007-05-29 | Microsoft Corporation | Secure processor architecture for use with a digital rights management (DRM) system on a computing device |
US6594780B1 (en) | 1999-10-19 | 2003-07-15 | Inasoft, Inc. | Operating system and data protection |
US7240303B1 (en) | 1999-11-30 | 2007-07-03 | Synplicity, Inc. | Hardware/software co-debugging in a hardware description language |
US7225423B2 (en) | 2000-06-30 | 2007-05-29 | Zenasis Technologies, Inc. | Method for automated design of integrated circuits with targeted quality objectives using dynamically generated building blocks |
US7350204B2 (en) | 2000-07-24 | 2008-03-25 | Microsoft Corporation | Policies for secure software execution |
US7320071B1 (en) | 2001-05-22 | 2008-01-15 | National Semiconductor Corporation | Secure universal serial bus |
US6820160B1 (en) | 2001-08-21 | 2004-11-16 | Cypress Semiconductor Corporation | Apparatus for optically isolating a USB peripheral from a USB host |
US7478235B2 (en) | 2002-06-28 | 2009-01-13 | Microsoft Corporation | Methods and systems for protecting data in USB systems |
US6782424B2 (en) | 2002-08-23 | 2004-08-24 | Finite State Machine Labs, Inc. | System, method and computer program product for monitoring and controlling network connections from a supervisory operating system |
US7149992B2 (en) | 2002-10-23 | 2006-12-12 | Via Technologies, Inc. | Method for faster timing closure and better quality of results in IC physical design |
US7055113B2 (en) | 2002-12-31 | 2006-05-30 | Lsi Logic Corporation | Simplified process to design integrated circuits |
US6922817B2 (en) | 2003-04-04 | 2005-07-26 | Lsi Logic Corporation | System and method for achieving timing closure in fixed placed designs after implementing logic changes |
US7469343B2 (en) | 2003-05-02 | 2008-12-23 | Microsoft Corporation | Dynamic substitution of USB data for on-the-fly encryption/decryption |
US7337100B1 (en) | 2003-06-12 | 2008-02-26 | Altera Corporation | Physical resynthesis of a logic design |
EP1668486A2 (en) | 2003-08-14 | 2006-06-14 | Compellent Technologies | Virtual disk drive system and method |
US7117473B1 (en) | 2004-03-03 | 2006-10-03 | Xilinx, Inc. | System for creating a physical hierarchy of a chip without restriction by invading a logical hierarchy of logic blocks |
US7987497B1 (en) | 2004-03-05 | 2011-07-26 | Microsoft Corporation | Systems and methods for data encryption using plugins within virtual systems and subsystems |
US7392324B2 (en) * | 2004-08-13 | 2008-06-24 | International Business Machines Corporation | Consistent snapshots of dynamic heterogeneously managed data |
US7396257B2 (en) | 2005-05-26 | 2008-07-08 | Itt Manufacturing Enterprises, Inc. | Computer input/output (I/O) connector assembly having a security circuit disposed therein |
US7340700B2 (en) | 2005-05-27 | 2008-03-04 | Lsi Logic Corporation | Method for abstraction of manufacturing test access and control ports to support automated RTL manufacturing test insertion flow for reusable modules |
US7818395B2 (en) | 2006-10-13 | 2010-10-19 | Ceelox, Inc. | Method and apparatus for interfacing with a restricted access computer system |
US7962755B2 (en) | 2006-04-28 | 2011-06-14 | Ceelox, Inc. | System and method for biometrically secured, transparent encryption and decryption |
US7635272B2 (en) | 2006-08-17 | 2009-12-22 | Acco Brands Usa Llc | USB port locking and blocking device |
US7882071B2 (en) * | 2006-08-18 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
KR101391152B1 (ko) | 2007-04-05 | 2014-05-02 | 삼성전자주식회사 | Ums 기기의 컨텐츠를 보호하기 위한 방법 및 장치 |
US8011010B2 (en) | 2007-04-17 | 2011-08-30 | Microsoft Corporation | Using antimalware technologies to perform offline scanning of virtual machine images |
US8321936B1 (en) | 2007-05-30 | 2012-11-27 | M86 Security, Inc. | System and method for malicious software detection in multiple protocols |
US20090006745A1 (en) | 2007-06-28 | 2009-01-01 | Cavallo Joseph S | Accessing snapshot data image of a data mirroring volume |
WO2009009489A1 (en) | 2007-07-06 | 2009-01-15 | Es & S Automark, Llc | Unidirectional usb port |
US8127096B1 (en) | 2007-07-19 | 2012-02-28 | American Megatrends, Inc. | High capacity thin provisioned storage server with advanced snapshot mechanism |
TW200905667A (en) | 2007-07-30 | 2009-02-01 | Avid Electronics Corp | Brightness adjustment method for LED display panel and device of the same |
US20090033668A1 (en) | 2007-07-31 | 2009-02-05 | Pederson Douglas A | Display EDID emulator system and method |
CZ2007779A3 (cs) | 2007-11-08 | 2009-05-20 | Monet+,A.S. | Zpusob zabezpecení autorizovaného zadávání dat a zarízení k jeho provádení |
US8646040B2 (en) | 2007-12-31 | 2014-02-04 | International Business Machines Corporation | Method and system for securing access to an unsecure network utilizing a transparent identification member |
US7984285B2 (en) | 2008-02-26 | 2011-07-19 | Dell Products L.P. | Information handling system port security |
US7991973B2 (en) * | 2008-05-05 | 2011-08-02 | Panasas, Inc. | Data storage systems, methods and networks having a snapshot efficient block map |
FR2934395B1 (fr) | 2008-07-23 | 2013-01-04 | Trusted Logic | Systeme et procede pour la securisation d'une interface utilisateur |
US8495316B2 (en) | 2008-08-25 | 2013-07-23 | Symantec Operating Corporation | Efficient management of archival images of virtual machines having incremental snapshots |
US8122399B2 (en) | 2008-08-28 | 2012-02-21 | International Business Machines Corporation | Compiler for closed-loop 1×N VLSI design |
US7677065B1 (en) | 2008-11-18 | 2010-03-16 | Jin Tay Industries Co., Ltd. | Lock for a USB connector |
IT1392913B1 (it) | 2008-12-30 | 2012-04-02 | St Microelectronics Srl | Metodo per implementare variazioni di funzionalita' di un layout di progetto di un dispositivo integrato, in particolare un sistema su singolo chip o system-on-chip mediante celle di riempimento programmabili tramite maschera |
US9065812B2 (en) | 2009-01-23 | 2015-06-23 | Microsoft Technology Licensing, Llc | Protecting transactions |
US20100306774A1 (en) | 2009-05-28 | 2010-12-02 | Subash Kalbarga | Instant-On Computing System |
US8918619B2 (en) * | 2009-10-04 | 2014-12-23 | Infinidat Ltd. | Virtualized storage system and method of operating thereof |
US20110102443A1 (en) | 2009-11-04 | 2011-05-05 | Microsoft Corporation | Virtualized GPU in a Virtual Machine Environment |
US20110154023A1 (en) | 2009-12-21 | 2011-06-23 | Smith Ned M | Protected device management |
US8869308B2 (en) | 2010-05-20 | 2014-10-21 | High Sec Labs Ltd. | Computer motherboard having peripheral security functions |
TW201202996A (en) | 2010-07-12 | 2012-01-16 | Walton Advanced Eng Inc | Encryption flash disk |
US9015649B2 (en) | 2010-07-19 | 2015-04-21 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method and apparatus for electronic system model generation |
US8566934B2 (en) | 2011-01-21 | 2013-10-22 | Gigavation, Inc. | Apparatus and method for enhancing security of data on a host computing device and a peripheral device |
US8813218B2 (en) | 2012-02-14 | 2014-08-19 | Janus Technologies, Inc. | Security-enhanced computer systems and methods |
US10713183B2 (en) * | 2012-11-28 | 2020-07-14 | Red Hat Israel, Ltd. | Virtual machine backup using snapshots and current configuration |
US9417815B1 (en) * | 2013-06-21 | 2016-08-16 | Amazon Technologies, Inc. | Capturing snapshots of storage volumes |
US9384150B2 (en) | 2013-08-20 | 2016-07-05 | Janus Technologies, Inc. | Method and apparatus for performing transparent mass storage backups and snapshots |
-
2013
- 2013-08-20 US US13/971,651 patent/US9384150B2/en active Active
-
2014
- 2014-08-18 TW TW103128327A patent/TWI628540B/zh not_active IP Right Cessation
- 2014-08-19 WO PCT/US2014/051705 patent/WO2015026833A1/en active Application Filing
-
2016
- 2016-06-28 US US15/195,668 patent/US10635329B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070067585A1 (en) * | 2005-09-21 | 2007-03-22 | Naoto Ueda | Snapshot maintenance apparatus and method |
US20070174569A1 (en) * | 2006-01-26 | 2007-07-26 | Infortrend Technology, Inc. | Method of managing data snapshot images in a storage system |
TW200731103A (en) * | 2006-01-26 | 2007-08-16 | Infortrend Technology Inc | Method of managing data snapshot images in a storage system |
TW200951822A (en) * | 2008-06-11 | 2009-12-16 | Jin-Feng Li | Disk-based operating environment management system and method thereof |
US20120079221A1 (en) * | 2010-09-28 | 2012-03-29 | Swaminathan Sivasubramanian | System And Method For Providing Flexible Storage And Retrieval Of Snapshot Archives |
US20120166582A1 (en) * | 2010-12-22 | 2012-06-28 | May Patents Ltd | System and method for routing-based internet security |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI740429B (zh) * | 2020-03-26 | 2021-09-21 | 威聯通科技股份有限公司 | 管理資料備份的方法及系統 |
Also Published As
Publication number | Publication date |
---|---|
US20150058442A1 (en) | 2015-02-26 |
US20160306576A1 (en) | 2016-10-20 |
TW201516658A (zh) | 2015-05-01 |
US10635329B2 (en) | 2020-04-28 |
WO2015026833A1 (en) | 2015-02-26 |
US9384150B2 (en) | 2016-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI628540B (zh) | 用於執行透明大量儲存備份及快照的方法及電腦系統 | |
US8504797B2 (en) | Method and apparatus for managing thin provisioning volume by using file storage system | |
US8170990B2 (en) | Integrated remote replication in hierarchical storage systems | |
US6938136B2 (en) | Method, system, and program for performing an input/output operation with respect to a logical storage device | |
US9092426B1 (en) | Zero-copy direct memory access (DMA) network-attached storage (NAS) file system block writing | |
US8904136B2 (en) | Optimized shrinking of virtual disks | |
US7308543B2 (en) | Method and system for shredding data within a data storage subsystem | |
US8204858B2 (en) | Snapshot reset method and apparatus | |
US10395044B2 (en) | Method and apparatus for securing computer mass storage data | |
US20130311429A1 (en) | Method for controlling backup and restoration, and storage system using the same | |
US8560801B1 (en) | Tiering aware data defragmentation | |
AU2016369238A1 (en) | Synchronizing snapshots between storage systems | |
US20120311258A1 (en) | Methods for implementation of worm mode on a removable disk drive storage system | |
US20130138705A1 (en) | Storage system controller, storage system, and access control method | |
JP2012133772A (ja) | リモートストレージシステムのためのデータ処理方法及び装置 | |
US8046391B2 (en) | Storage apparatus and its file control method and storage system | |
US11327998B2 (en) | Replication between heterogeneous storage systems | |
US9886216B2 (en) | Distributed remote data storage access | |
US8595454B1 (en) | System and method for caching mapping information for off-host backups | |
US11829651B2 (en) | Methods and systems for the movement of metadata between different storage types | |
US8447944B2 (en) | Information processing device and data shredding method | |
JP2011090531A (ja) | 情報記憶装置 | |
US20200285412A1 (en) | Storage device and method for erasing data of storage device | |
WO2018109818A1 (ja) | データの格納を制御する計算機システム及び方法 | |
JP2016197357A (ja) | データアーカイブシステム及びデータ記録方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |