TWI470459B - 由在遠端複本對之主要磁碟與次要磁碟之間通信而作為遠端複本對運作之儲存控制系統、方法、資料載體及電腦程式產品 - Google Patents
由在遠端複本對之主要磁碟與次要磁碟之間通信而作為遠端複本對運作之儲存控制系統、方法、資料載體及電腦程式產品 Download PDFInfo
- Publication number
- TWI470459B TWI470459B TW96128748A TW96128748A TWI470459B TW I470459 B TWI470459 B TW I470459B TW 96128748 A TW96128748 A TW 96128748A TW 96128748 A TW96128748 A TW 96128748A TW I470459 B TWI470459 B TW I470459B
- Authority
- TW
- Taiwan
- Prior art keywords
- batch
- writes
- disk
- write
- primary
- Prior art date
Links
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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
- G06F11/2074—Asynchronous techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2064—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
-
- 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
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- 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/82—Solving problems relating to consistency
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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Cold Air Circulating Systems And Constructional Details In Refrigerators (AREA)
- Devices For Checking Fares Or Tickets At Control Points (AREA)
- Cash Registers Or Receiving Machines (AREA)
- Communication Control (AREA)
Description
本發明係關於資料儲存管理技術,且更特定而言係關於用於較佳以最小額外資源之使用保存一遠端複本設備內資料一致性之技術。
通常藉由將重要資料拷貝至另一地點以保護其免受破壞。一種用於此目的技術稱作遠端複本。
遠端複本係一磁碟(或邏輯卷)與另一用作備份之磁碟的配對。該原始磁碟稱作主要磁碟,而該備份磁碟稱作次要磁碟。只要將資料寫入至主要磁碟,亦必須將其寫入至次要磁碟,以確保該備份保持最新。遠端複本可同步實現,亦即/因此延遲主機上的處理直至確認已在次要磁碟上完成相應寫入,或可異步實現。
異步遠端複本意即當將資料拷貝至次要磁碟時,將該資料寫入至主要磁碟之主機未被延遲;一旦將資料寫至主要磁碟,主機即被通知已完成。由此,資料係被異步地拷貝至次要磁碟。
當實施異步遠端複本時,主要挑戰之一係保持次要磁碟之一致性。"保持一致性"意指使該次要磁碟資料處於該主要磁碟資料在處理期間某一時刻可能所處之狀態。允許次要磁碟資料"過時"(即尚未將某一數目之更新施加至該次要磁碟),但不允許其不一致。
下表顯示一序列事件。在此等事件發生期間,雖然次要磁碟相對於主要磁碟係過時,但其所含資料始終與主機自主要磁碟可能讀出的某些事物相配,因此次要磁碟係始終一致。
下表顯示以錯誤次序將更新施加至次要磁碟之一序列事件。在步驟3中所發出之寫入係一"從屬寫入",此乃因其在AAA寫入完成之後發出。因此,只能在寫入AAA之後,方可將BBB寫入至該磁碟。
若主要磁碟在步驟4後失敗,則將可能已導致次要磁碟不一致,乃因主機知曉在任一時刻主要磁碟都不曾含有資料XXXBBB。
一已用於保持一致性之方法係所謂"色彩"之使用。在此方法中,將更新集合歸於稱作"色彩"之組中。在施加一色彩組之前,給次要磁碟拍攝一快照。此快照係次要磁碟資料之一致性複本。施加色彩組內之更新,且若此過程未打斷,則廢棄該快照。若在更新過程期間出現問題,則將該快照拷貝回至次要磁碟,將該磁碟恢復至一一致狀態。
色彩以規則時間間隔(例如,每5秒)形成,且在色彩形成開始之前停止I/O。
此方法之缺陷係:.在次要磁碟上需要兩倍大之儲存空間來用於拍攝快照。
.快照功能將佔用大量處理時間而損害系統效能。
.系統之恢復點目標(RPO)相對較高(例如,若色彩每5秒形成,那麼次要磁碟相對於主要磁碟可過時多達5秒)。
.由於將頻繁拍攝快照,因而需要一快速有效的快照功能。而諸多儲存子系統結構不能滿足此需要,因此必須採用一不同方法。
一已使用之第二方法係為進入主要磁碟之每一單個寫入指派一唯一序號,使得,若寫入B在寫入A之後到達,則寫入B將具有一較大序號。
將該等寫入發送至次要磁碟,次要磁碟按照序號次序實施該等寫入。此可確保次要磁碟始終保持一致,乃因將該等寫入以主機將其發出之準確次序施加至次要磁碟。
此方法之缺陷係:.在任一既定時間在次要磁碟上,僅有一個寫入係在進行中,乃因每一寫入必須完成方可開始下一序號之寫入。此將導致一無法接受之效能位準。
.在多節點系統上,將需要一中央伺服器來控制序號之發出。主要磁碟上之每一單個寫入均將形成一傳至該伺服器用以獲得一序號之訊息。此將形成極大數量之訊息及訊息資源之高消耗,且當等待一序號發給時亦造成延遲。
因此,合意之情形係具有一較佳地以最小額外資源之使用保存一遠端複本設備內資料一致性之技術手段。
因此,於一第一態樣中,本發明提供一種藉由在一遠端複本對之一主要磁碟與次要磁碟之間進行通信而適合作為該遠端複本對運作之儲存控制系統,其包含:一選擇器,其用於基於一個或多個標準選擇將被安排至一批次內之寫入;一序號請求器,其用於為該批次請求一序號;一序號授予器,其用於授予該批次一序號;一批次傳輸器,其用於將該批次發送至該次要磁碟;一許可接收器,其用於自該次要磁碟接收寫入該批次之許可;及一寫入組件,其因應該許可接收器完成該批次之寫入;其中該次要磁碟因應該完成以授予一進一步許可來進行另一批次之寫入。
較佳地,該寫入組件包含一用於同時執行複數個寫入之並行寫入組件。
較佳地,該一個或多個標準包含該等寫入之相互獨立性。
於一第二態樣中,本發明給一種藉由在一遠端複本對之一主要磁碟與次要磁碟之間進行通信而適合作為該遠端複本對運行之儲存控制系統提供一種方法或邏輯佈置,該方法或邏輯佈置包含以下步驟:基於一個或多個標準選擇將被安排至一批次內之寫入;為該批次請求一序號;授予該批次一序號;將該批次發送至該次要磁碟;自該次要磁碟接收一寫入該批次之許可;及因應該許可完成該批次之寫入;其中該次要磁碟因應該完成而授予一進一步許可來進行另一批次之寫入。
較佳地,該寫入步驟包含同時執行複數個寫入。
較佳地,該一個或多個標準包含該等寫入之相互獨立性。
於一第三態樣中,提供一種其上具有功能性資料之資料載體,該功能性資料包含功能電腦資料結構用以在被載入一電腦系統內且在其上運作時使該電腦系統能夠實施根據該第二態樣之方法之所有步驟。
於一第四態樣中,提供一種包含電腦程式碼之電腦程式,用以在被載入一電腦系統內且在其上執行時使該電腦系統實施根據該第二態樣之方法之所有步驟。
本發明之較佳實施例以其最寬廣態樣涵蓋一較佳地以最小額外資源之使用保存一遠端複本設備中之資料一致性之技術框架。
本發明之較佳實施例廣義而言係關於較佳地以最小額外資源之使用保存一遠端複本設備內資料之一致性。
本發明一第一較佳實施例包含將寫入安排成序號批次,且一次發送一個批次至次要磁碟。以此種方式,可給相互獨立之寫入指派相同之序號。主要磁碟將一批次寫入(例如,所有具有序號17之寫入)發送至次要磁碟。當此等寫入完成後,將下一批次(例如,序號為18之寫入批次)發送至次要磁碟。在次要磁碟收到所有寫入時對其進行處理。此增強次要磁碟之同時性且減少內部節點傳訊之數量。
此方法之缺陷係其不能夠充分地利用長距離通信通道,該通道自一批次內之最後寫入發出至該批次內最後寫入完成之時間段內係空閒。由於此可處於100ms之數量級,故鏈路利用率非最佳。
因此,在一更佳實施例中提出一用於分派序號之更加有效之方法,如以下所略述。
該給寫入指派序號之較佳方法係基於以下觀察:
‧在未收到完成之狀況下,已由主機發出之所有寫入肯定係獨立(由於其中無一完成,因此無一可相依於另一)。
‧可給所有此等寫入賦予相同之序號且可按任一次序將其施加至次要磁碟上,正如可按任一次序將此等寫入施加至主要磁碟一樣。
在一多節點系統上,於兩個位置處形成批次:
‧可將在一既定節點上未決(outstanding)之所有寫入安排於同一批次內。只需將針對整個批次之唯一序號請求發送至序號伺服器,此極大地減少了訊息數量及所需訊息資源。
.可將到達序號伺服器之所有請求安排至相同批次內。此進一步增加批次之大小,增大在次要磁碟上可同時進行之寫入數量,進而改善效能。
以下實施方案闡述一擬用於本發明之較佳實施例之協議實例。寫入至相關磁碟之所有寫入必須使用相同協議實例以確保保持此等磁碟之間的一致性。不相關磁碟可使用不同協議實例(即其可具有單獨之序號伺服器及客戶端)。此可於一參照附圖闡述於下文之最佳實施例中達成。
翻至圖1,其顯示一根據本發明一較佳實施例之組件佈置。在圖1中,主要磁碟100包含一用於通常自一主機裝置(未顯示)接收寫入I/O指令之I/O處理器104。I/O處理器在運作上與以配合方式連接至主要伺服器108之主要客戶端106進行通信。次要磁碟102包含在運作上耦合至次要伺服器112之次要客戶端110及I/O處理程式114。出於實施寫入I/O之目的,I/O處理程式114可與資料儲存器(未顯示)進行通信,該資料儲存器包含任一已知資料儲存形式,例如,但不限於磁性磁碟儲存、磁帶儲存或諸如此類。位於主要磁碟100之主要客戶端106藉由一通信鏈路與位於次要磁碟102之次要客戶端110相鏈接,且位於主要磁碟100之主要伺服器106藉由一通信鏈路與位於次要磁碟102之次要伺服器110相鏈接。主要客戶端及次要客戶端及伺服器之佈置及位置僅係實例性,且可設想眾多其他佈置,舉例而言,將客戶端或伺服器定位於一資料處理或通信網路之中間及通信節點處。彼等熟悉此項技術者已熟知客戶端及伺服器器件、系統或模組之替代佈置,因此無需在此進一步闡述。
本發明之最佳實施例以一系統或裝置之形式有利地解決提供一較佳地以最小額外資源之使用來保存一遠端複本設備內資料一致性之技術手段之問題。
翻至圖2,其以示意性形式顯示一種方法或一種其中可實施一根據本發明一較佳實施例之運作方法之邏輯佈置。彼等熟悉此項技術者將明瞭,在不背離本發明之範疇的前提下可作出眾多修改及變動,其包括,例如,步驟順序之變動。
一種於其中可實施一根據本發明一較佳實施例之運作方法的系統,該系統包含如圖2所示之以下組件:.主要客戶端。
每一接收寫入I/O之節點均需具有一主要客戶端。當收到一寫入I/O時,I/O程式碼自該主要客戶端請求一序號。該主要客戶端將所有並行請求收集成批且發送一請求序號訊息至主要伺服器。當被授予一序號後,主要客戶端將該序號嵌入該寫入訊息內且將該寫入I/O發送至次要客戶端。僅有在發出請求序號時現用的寫入I/O可被指派所授予的序號,以防止將附屬寫入安排至同一批次內(在一多節點系統中,其他節點可能已收到其授予且已完成其I/O)。
.主要伺服器。
僅存在一個主要伺服器。主要伺服器自主要客戶端接收請求序號訊息,將所有並行請求收集成批且藉由向主要客戶端發送已授予的序號來回覆主要客戶端。主要伺服器亦將一新批次訊息發送至次要伺服器,告知其已發出之序號及已被授予序號之寫入I/O的數量。
.次要客戶端。
次要客戶端自主要客戶端接收寫入訊息。每一寫入被安排在一佇列上。當次要客戶端收到一針對一序號之"允許寫入"訊息時,次要客戶端將所有對應於此序號之寫入自佇列中拖出並將其執行。當每一寫入完成時,次要客戶端將"寫入完成"訊息發送至主要客戶端及次要伺服器。
.次要伺服器。
次要伺服器自主要伺服器接收新批次訊息。次要伺服器負責協調次要客戶端以確保按序號次序來處理寫入,從而保持資料之一致性。當第一新批次到達時,次要伺服器向每一次要客戶端發送一"允許寫入"訊息,以便當對應於該第一序號之寫入到達時,該等次要客戶端即刻對該等寫入進行處理。當次要伺服器已接收到預期數量之"寫入完成"訊息(該批次內一個"寫入完成"對應於每一寫入)時,其針對下一序號發送"允許寫入"訊息。
示例性方法如下所示:步驟1:
一個或多個該等I/O處理器向主要客戶端發出一序號之請求。
步驟2:
主要客戶端向主要伺服器發出一序號之請求。
步驟3:
主要伺服器向次要伺服器發出一新批次請求,且將已自主要客戶端接收之複數個請求收集成批。
步驟4:
次要伺服器針對一具體序號向次要客戶端發送一"允許寫入"訊息。僅當不存在針對先前序號(假若存在)之未完成寫入時,步驟4才可發生。
步驟5:
主要伺服器批准主要客戶端對一序號之請求。
步驟6:
主要客戶端將"已批准請求"訊息傳送至該或每一請求I/O處理器。
步驟7:
該或每一請求I/O處理器繼而向主要客戶端發出一針對該具體序號之寫入。
步驟8:
主要客戶端向次要客戶端發出針對該具體序號之寫入請求。
步驟9:
將該寫入發送至實施寫入I/O之I/O處理程式。
步驟10:
該I/O處理程式將一"寫入完成"訊息返回至次要客戶端。
步驟11:
次要客戶端將該"寫入完成"訊息傳送至次要伺服器。
步驟12:
次要客戶端將該"寫入完成"訊息傳送至主要客戶端。
步驟13:
主要客戶端將該"寫入完成"訊息傳回至相關之I/O處理程式。
如此以來,本發明之較佳實施例以一種方法或邏輯佈置之方式有利地解決提供一較佳地以最小額外資源之使用保存一遠端複本設備內資料一致性之技術手段之問題。熟悉此項技術者將明瞭,此處按其標號之順序形式顯示之某些該等步驟實際上可同時進行處理,且某些步驟可能需等待其他運作完成,且所顯示序列僅係本發明一實施例可能實施之示例性處理。例如,如上所示,可延遲實施步驟4直至針對先前序號完成所有步驟5至11,或可立即實施步驟4,例如,當已無針對先前序號之寫入活動進行時,在第一次重複該方法之步驟時實施步驟4。
熟悉此項技術者將明瞭,可在一或複數個邏輯裝置中適當地有用地實施本發明之較佳實施例之所有或部分方法,該或該等邏輯裝置包含安排用以實施該方法之步驟之邏輯元件,且此等邏輯元件可包含硬體組件、韌體組件或其一組合。
彼等熟悉此項技術者將同樣明瞭,可在一邏輯裝置內適當地實施一根據本發明之較佳實施例之邏輯佈置的全部或部分,該邏輯裝置包含實施該方法之步驟之邏輯元件,且此等邏輯元件可包含諸如邏輯閘(例如,在一可程式規劃邏輯陣列或應用專用積體電路內)等組件。此一邏輯佈置可在賦能元件中進一步實施,該等元件使用諸如一虛擬硬體描述符語言(可使用固定或可傳輸載攜媒體對其進行儲存及傳輸)在此一陣列或電路中臨時地或永久地建立邏輯結構。
應瞭解,上述方法或佈置亦可在運行於一個或多個處理器(圖中未顯示)上之軟體中完全或部分地適當實施,且可以一個或多個電腦程式元件之形式提供該軟體,該等電腦程式元件可載攜於任一適當資料載體上(圖中亦未顯示),諸如一磁碟或光碟或諸如此類。用於資料傳輸之通道同樣包含所有說明中之儲存媒體及信號載攜媒體,諸如有線或無線信號載攜媒體。
可將本發明進一步適當地實施為一與一電腦系統共同使用之電腦程式產品。此一實施方案可包含一系列電腦可讀指令,該等指令可固定於一有形媒體(諸如一電腦可讀媒體,例如,磁盤、CD-ROM、ROM或硬磁碟)上,或可使用一數據機或其他介面藉由一有形媒體(其包括,但不限於光學或類比通信鏈路)或無形地使用無線技術(其包括,但不限於微波、紅外線或其他傳輸技術)傳輸至一電腦系統。該系列電腦可讀指令實施本文所述之所有或部分功能度。
彼等熟悉此項技術者應瞭解,此等電腦可讀指令可採用與眾多電腦架構或運作系統共同使用之多種程式規劃語言進行編寫。進一步,此等指令可使用任一當前或未來的記憶體技術(其包括,但不限於半導體、磁性或光學記憶體技術)進行儲存或使用任一當前或未來的通信技術(其包括,但不限於光學、紅外線或微波通信技術)進行傳輸。本發明涵蓋此一電腦程式產品可作為一具有附隨印刷或電子文件(例如,收縮包裝軟體,其預載於一電腦系統上,諸如在一系統ROM或固定磁碟上)之可移除媒體分銷或藉由一網路(例如國際互聯網路或環球網)自一伺服器或電子公告板分銷。
在一替代方案中,本發明之較佳實施例可採用一部署一服務之電腦執行方法之形式來實現,該服務包含如下步驟:部署電腦程式碼,該電腦程式碼當部署至一電腦基礎設施內且在其上執行時可運作以致使該電腦系統實施該方法之所有步驟。
在一進一步替代方案中,本發明之較佳實施例可以一其上具有功能性資料之資料載體之形式實現,該功能性資料包含功能電腦資料結構用以在被載入一電腦系統內且在其上運作時使該電腦系統能夠實施該方法之所有步驟。
熟知此項技術者將明瞭,可在不脫離本發明範疇之前提下對上述實例性實施例進行諸多改良及修改。
100...主要磁碟
102...次要磁碟
104...I/O處理器
106...主要客戶端
108...主要伺服器
110...次要客戶端
112...次要伺服器
114...I/O處理程式
已參照附圖以例示方式闡述本發明之一較佳實施例,其中:圖1以示意性形式顯示一根據本發明一較佳實施例之組件佈置;及圖2以示意性形式顯示一種方法或一種其中可實施一根據本發明一較佳實施例之運作方法之邏輯佈置。
100...主要磁碟
102...次要磁碟
104...I/O處理器
106...主要客戶端
108...主要伺服器
110...次要客戶端
112...次要伺服器
114...I/O處理程式
Claims (6)
- 一種藉由在一遠端複本對之一主要磁碟與一次要磁碟之間通信而適合作為該遠端複本對運作之儲存控制系統,其包含:一選擇器,用於基於一個或多個標準選擇將被安排至一批次內之寫入,使得可將在一既定節點上未決之所有寫入安排於同一批次內,其中該或該等標準包含該批次之該等寫入之相互獨立性;一序號請求器,其用於為該批次請求一序號;一序號授予器,其用於授予該批次一序號;一批次傳輸器,其用於將該批次傳輸至該次要磁碟;一許可接收器,其用於自該次要磁碟接收寫入該批次之許可;及一寫入組件,其因應該許可接收器而完成寫入該批次;其中該次要磁碟因應該批次之該等寫入之該完成而授予一進一步許可來進行另一批次之寫入。
- 如請求項1之儲存控制系統,其中該寫入組件包含一用於同時執行複數個寫入之並行寫入組件。
- 一種用於一儲存控制系統之運作方法,該儲存控制系統藉由在一遠端複本對之一主要磁碟與一次要磁碟之間進行通信而適合作為該遠端複本對運作,該方法包含以下步驟:基於一個或多個標準選擇將被安排至一批次內之寫 入,使得可將在一既定節點上未決之所有寫入安排於同一批次內,其中該或該等標準包含該批次之該等寫入之相互獨立性;為該批次請求一序號;授予該批次一序號;將該批次傳輸至該次要磁碟;自該次要磁碟接收一寫入該批次之許可;及因應該許可而完成該批次之寫入;其中該次要磁碟因應該批次之該等寫入之該完成而授予一進一步許可來進行另一批次之寫入。
- 如請求項3之方法,其中該寫入步驟包含同時執行複數個寫入。
- 一種其上具有功能性資料之用於一儲存控制系統之運作資料載體,該儲存控制系統藉由在一遠端複本對之一主要磁碟與一次要磁碟之間進行通信而適合作為該遠端複本對運作,該功能性資料包含功能電腦資料結構用以在被載入一電腦系統內且在其上運作時藉以使該電腦系統能夠實施請求項3或4中所請求的一方法之所有步驟。
- 一種電腦程式產品,其包含電腦程式碼用以在被載入一電腦系統內且在其上執行時使該電腦系統實施如請求項3或4中所請求的一方法之所有步驟。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0616257.2A GB0616257D0 (en) | 2006-08-16 | 2006-08-16 | Storage management system for preserving consistency of remote copy data |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200817950A TW200817950A (en) | 2008-04-16 |
TWI470459B true TWI470459B (zh) | 2015-01-21 |
Family
ID=37081062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW96128748A TWI470459B (zh) | 2006-08-16 | 2007-08-03 | 由在遠端複本對之主要磁碟與次要磁碟之間通信而作為遠端複本對運作之儲存控制系統、方法、資料載體及電腦程式產品 |
Country Status (9)
Country | Link |
---|---|
US (3) | US9239766B2 (zh) |
EP (1) | EP2054806B1 (zh) |
JP (1) | JP5191062B2 (zh) |
CN (1) | CN101501648B (zh) |
AT (1) | ATE445877T1 (zh) |
DE (1) | DE602007002827D1 (zh) |
GB (1) | GB0616257D0 (zh) |
TW (1) | TWI470459B (zh) |
WO (1) | WO2008019952A2 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0616257D0 (en) | 2006-08-16 | 2006-09-27 | Ibm | Storage management system for preserving consistency of remote copy data |
GB0622734D0 (en) * | 2006-11-15 | 2006-12-27 | Ibm | Throttling an asynchronous remote copying system |
JP5222171B2 (ja) * | 2009-02-03 | 2013-06-26 | 株式会社日立製作所 | データベース管理方法およびデータベース管理システム |
US8667236B2 (en) * | 2010-09-29 | 2014-03-04 | Hewlett-Packard Development Company, L.P. | Host based write ordering for asynchronous replication |
US9306504B2 (en) * | 2011-12-14 | 2016-04-05 | Qualcomm Incorporated | Waveform shaping for audio amplifiers |
CN102790801B (zh) * | 2012-06-20 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 异步远程复制系统及其维护数据一致性的方法 |
CA2868247C (en) * | 2013-07-26 | 2017-04-04 | Ji Ouyang | Data sending method, data receiving method, and storage device |
GB2519157A (en) | 2013-10-14 | 2015-04-15 | Ibm | Robust data replication |
CN103842954B (zh) * | 2013-12-05 | 2017-02-15 | 华为技术有限公司 | 一种存储系统中的数据处理方法、装置、系统和服务器 |
US10198700B2 (en) | 2014-03-13 | 2019-02-05 | Uber Technologies, Inc. | Configurable push notifications for a transport service |
US9888087B2 (en) | 2014-03-31 | 2018-02-06 | Uber Technologies, Inc. | Adjusting attributes for an on-demand service system based on real-time information |
GB2531537A (en) | 2014-10-21 | 2016-04-27 | Ibm | Database Management system and method of operation |
US10282684B2 (en) | 2015-02-26 | 2019-05-07 | Uber Technologies, Inc. | Performing selective operations based on mobile device locations |
US10212536B2 (en) | 2015-07-10 | 2019-02-19 | Uber Technologies, Inc. | Selecting a messaging protocol for transmitting data in connection with a location-based service |
US10452680B1 (en) | 2015-09-25 | 2019-10-22 | Amazon Technologies, Inc. | Catch-up replication with log peer |
US9753813B1 (en) | 2015-09-25 | 2017-09-05 | Amazon Technologies, Inc. | Data replication snapshots for persistent storage using operation numbers |
US9733869B1 (en) | 2015-09-25 | 2017-08-15 | Amazon Technologies, Inc. | Provisioning a slave for data storage using metadata with updated references |
US10303360B2 (en) | 2015-09-30 | 2019-05-28 | International Business Machines Corporation | Replicating data in a data storage system |
US10496630B2 (en) | 2015-10-01 | 2019-12-03 | Microsoft Technology Licensing, Llc | Read-write protocol for append-only distributed databases |
US20170160929A1 (en) * | 2015-12-02 | 2017-06-08 | Hewlett Packard Enterprise Development Lp | In-order execution of commands received via a networking fabric |
US20180143766A1 (en) * | 2016-11-18 | 2018-05-24 | International Business Machines Corporation | Failure protection copy management |
US10180802B2 (en) | 2017-05-18 | 2019-01-15 | International Business Machines Corporation | Collision detection at multi-node storage sites |
CN109783272B (zh) * | 2017-11-10 | 2023-01-24 | 阿里巴巴集团控股有限公司 | 磁盘快照处理方法、装置和设备 |
US10452502B2 (en) | 2018-01-23 | 2019-10-22 | International Business Machines Corporation | Handling node failure in multi-node data storage systems |
US11151062B2 (en) | 2018-04-04 | 2021-10-19 | International Business Machines Corporation | Optimized locking for replication solutions |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07244597A (ja) * | 1994-02-22 | 1995-09-19 | Internatl Business Mach Corp <Ibm> | 災害復旧機能を提供するために整合性グループを形成する方法および関連するシステム |
CN1163668A (zh) * | 1994-11-17 | 1997-10-29 | 西门子公司 | 带有主单元和从属单元的装置 |
US20040193802A1 (en) * | 2003-03-25 | 2004-09-30 | Emc Corporation | Reading virtual ordered writes at local storage device |
WO2004095289A1 (en) * | 2003-03-25 | 2004-11-04 | Emc Corporation | Virtual ordered writes |
US20040260977A1 (en) * | 2003-06-06 | 2004-12-23 | Minwen Ji | Fault-tolerant data redundancy technique |
US20050102533A1 (en) * | 1998-02-25 | 2005-05-12 | Buzbee William B. | System and method for efficiently blocking event signals associated with an operating system |
JP2005243020A (ja) * | 2004-02-23 | 2005-09-08 | Hewlett-Packard Development Co Lp | タスク属性を使用したコマンド管理 |
TW200532444A (en) * | 2004-01-09 | 2005-10-01 | Ibm | Maintaining consistency for remote copy using virtualization |
TW200617774A (en) * | 2004-05-27 | 2006-06-01 | Ibm | Fast reverse restore |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544347A (en) | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US5592618A (en) * | 1994-10-03 | 1997-01-07 | International Business Machines Corporation | Remote copy secondary data copy validation-audit function |
US5682513A (en) * | 1995-03-31 | 1997-10-28 | International Business Machines Corporation | Cache queue entry linking for DASD record updates |
US6148383A (en) | 1998-07-09 | 2000-11-14 | International Business Machines Corporation | Storage system employing universal timer for peer-to-peer asynchronous maintenance of consistent mirrored storage |
US7111189B1 (en) | 2000-03-30 | 2006-09-19 | Hewlett-Packard Development Company, L.P. | Method for transaction log failover merging during asynchronous operations in a data storage network |
EP1158409B1 (en) | 2000-05-25 | 2008-05-28 | Hitachi, Ltd. | Storage system making possible data synchronisation confirmation at time of asynchronous remote copy |
JP2002189570A (ja) | 2000-12-20 | 2002-07-05 | Hitachi Ltd | 記憶システムの二重化方法および記憶システム |
US7134044B2 (en) | 2002-08-16 | 2006-11-07 | International Business Machines Corporation | Method, system, and program for providing a mirror copy of data |
US7120824B2 (en) | 2003-05-09 | 2006-10-10 | International Business Machines Corporation | Method, apparatus and program storage device for maintaining data consistency and cache coherency during communications failures between nodes in a remote mirror pair |
US7178055B2 (en) | 2003-06-06 | 2007-02-13 | Hewlett-Packard Development Company, L.P. | Method and system for ensuring data consistency after a failover event in a redundant data storage system |
US7043665B2 (en) | 2003-06-18 | 2006-05-09 | International Business Machines Corporation | Method, system, and program for handling a failover to a remote storage location |
US7065589B2 (en) | 2003-06-23 | 2006-06-20 | Hitachi, Ltd. | Three data center remote copy system with journaling |
US7278049B2 (en) | 2003-09-29 | 2007-10-02 | International Business Machines Corporation | Method, system, and program for recovery from a failure in an asynchronous data copying system |
US7293048B2 (en) * | 2003-10-29 | 2007-11-06 | Hewlett-Packard Development Company, L.P. | System for preserving logical object integrity within a remote mirror cache |
US7251743B2 (en) | 2003-11-20 | 2007-07-31 | International Business Machines Corporation | Method, system, and program for transmitting input/output requests from a primary controller to a secondary controller |
US7194562B2 (en) | 2003-11-20 | 2007-03-20 | International Business Machines Corporation | Method, system, and program for throttling data transfer |
JP4477370B2 (ja) | 2004-01-30 | 2010-06-09 | 株式会社日立製作所 | データ処理システム |
US7139851B2 (en) | 2004-02-25 | 2006-11-21 | Hitachi, Ltd. | Method and apparatus for re-synchronizing mirroring pair with data consistency |
JP2005258850A (ja) | 2004-03-12 | 2005-09-22 | Hitachi Ltd | 計算機システム |
JP4452533B2 (ja) | 2004-03-19 | 2010-04-21 | 株式会社日立製作所 | システムおよび記憶装置システム |
CN1331294C (zh) | 2004-08-27 | 2007-08-08 | 江苏省电力公司南京供电公司 | 建立电网监控灾难后备系统的方法 |
US7657578B1 (en) * | 2004-12-20 | 2010-02-02 | Symantec Operating Corporation | System and method for volume replication in a storage environment employing distributed block virtualization |
US7565498B1 (en) * | 2005-11-07 | 2009-07-21 | Symantec Operating Corporation | System and method for maintaining write order fidelity in a distributed environment |
GB0616257D0 (en) | 2006-08-16 | 2006-09-27 | Ibm | Storage management system for preserving consistency of remote copy data |
GB0617342D0 (en) | 2006-09-02 | 2006-10-11 | Ibm | Consistent remote copy data storage system error management |
GB0622140D0 (en) | 2006-11-07 | 2006-12-20 | Ibm | Suspension of asynchronous remote copying system |
GB0622734D0 (en) | 2006-11-15 | 2006-12-27 | Ibm | Throttling an asynchronous remote copying system |
-
2006
- 2006-08-16 GB GBGB0616257.2A patent/GB0616257D0/en not_active Ceased
-
2007
- 2007-08-02 AT AT07802478T patent/ATE445877T1/de not_active IP Right Cessation
- 2007-08-02 WO PCT/EP2007/058021 patent/WO2008019952A2/en active Application Filing
- 2007-08-02 US US12/377,577 patent/US9239766B2/en not_active Expired - Fee Related
- 2007-08-02 JP JP2009524162A patent/JP5191062B2/ja active Active
- 2007-08-02 CN CN2007800300555A patent/CN101501648B/zh active Active
- 2007-08-02 EP EP07802478A patent/EP2054806B1/en active Active
- 2007-08-02 DE DE602007002827T patent/DE602007002827D1/de active Active
- 2007-08-03 TW TW96128748A patent/TWI470459B/zh active
-
2012
- 2012-04-27 US US13/457,766 patent/US9229827B2/en not_active Expired - Fee Related
-
2015
- 2015-11-30 US US14/954,841 patent/US9923967B2/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07244597A (ja) * | 1994-02-22 | 1995-09-19 | Internatl Business Mach Corp <Ibm> | 災害復旧機能を提供するために整合性グループを形成する方法および関連するシステム |
US5734818A (en) * | 1994-02-22 | 1998-03-31 | International Business Machines Corporation | Forming consistency groups using self-describing record sets for remote data duplexing |
CN1163668A (zh) * | 1994-11-17 | 1997-10-29 | 西门子公司 | 带有主单元和从属单元的装置 |
US20050102533A1 (en) * | 1998-02-25 | 2005-05-12 | Buzbee William B. | System and method for efficiently blocking event signals associated with an operating system |
US20040193802A1 (en) * | 2003-03-25 | 2004-09-30 | Emc Corporation | Reading virtual ordered writes at local storage device |
WO2004095289A1 (en) * | 2003-03-25 | 2004-11-04 | Emc Corporation | Virtual ordered writes |
US20040260977A1 (en) * | 2003-06-06 | 2004-12-23 | Minwen Ji | Fault-tolerant data redundancy technique |
TW200532444A (en) * | 2004-01-09 | 2005-10-01 | Ibm | Maintaining consistency for remote copy using virtualization |
JP2005243020A (ja) * | 2004-02-23 | 2005-09-08 | Hewlett-Packard Development Co Lp | タスク属性を使用したコマンド管理 |
TW200617774A (en) * | 2004-05-27 | 2006-06-01 | Ibm | Fast reverse restore |
Also Published As
Publication number | Publication date |
---|---|
US20160088081A1 (en) | 2016-03-24 |
CN101501648B (zh) | 2012-02-22 |
GB0616257D0 (en) | 2006-09-27 |
DE602007002827D1 (de) | 2009-11-26 |
EP2054806B1 (en) | 2009-10-14 |
WO2008019952A3 (en) | 2008-05-22 |
ATE445877T1 (de) | 2009-10-15 |
WO2008019952B1 (en) | 2008-07-24 |
WO2008019952A2 (en) | 2008-02-21 |
JP5191062B2 (ja) | 2013-04-24 |
US9229827B2 (en) | 2016-01-05 |
EP2054806A2 (en) | 2009-05-06 |
TW200817950A (en) | 2008-04-16 |
US9923967B2 (en) | 2018-03-20 |
CN101501648A (zh) | 2009-08-05 |
JP2010500673A (ja) | 2010-01-07 |
US20120215994A1 (en) | 2012-08-23 |
US20110010513A1 (en) | 2011-01-13 |
US9239766B2 (en) | 2016-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI470459B (zh) | 由在遠端複本對之主要磁碟與次要磁碟之間通信而作為遠端複本對運作之儲存控制系統、方法、資料載體及電腦程式產品 | |
US8468313B2 (en) | Asynchronous replication with write concurrency grouping | |
AU2016405587B2 (en) | Splitting and moving ranges in a distributed system | |
Lorch et al. | The SMART way to migrate replicated stateful services | |
JP4668763B2 (ja) | ストレージ装置のリストア方法及びストレージ装置 | |
US7823008B2 (en) | Maintaining consistency in a remote copy data storage system | |
US7343449B2 (en) | Storage subsystem and storage system | |
US20060161700A1 (en) | Redirection of storage access requests | |
US20080183973A1 (en) | Snapshots in distributed storage systems | |
JP2009157785A (ja) | 待機系計算機の追加方法、計算機及び計算機システム | |
JP2007220103A (ja) | 結合セッション環境におけるセッションのクラスタのためのセッション情報の統合方法、システム、およびプログラム | |
US11579983B2 (en) | Snapshot performance optimizations | |
CN106605217B (zh) | 用于将应用从一个站点移动到另一站点的方法和系统 | |
US20170011078A1 (en) | Reconciler for a Distributed Storage System | |
JP2009251756A (ja) | クライアント装置、分散ファイルシステム、共有リソース多重化方法およびプログラム | |
US20090210452A1 (en) | Method of substituting process in storage system | |
WO2015114417A1 (en) | Data migration method and systems | |
EP1693756B1 (en) | Storage subsystem and storage system | |
US11010351B1 (en) | File system replication between software defined network attached storage processes using file system snapshots | |
JP7050707B2 (ja) | ストレージ制御装置、ストレージシステム、ストレージ制御方法、及び、ストレージ制御プログラム | |
US11269922B2 (en) | Database server, database management method, and storage medium | |
WO2022196112A1 (ja) | ストレージシステム、データ処理方法、及びデータ処理プログラム | |
JP6798516B2 (ja) | ストレージ装置およびレプリケーション方法 | |
JP2022082006A (ja) | ストレージ装置 | |
JP2019133508A (ja) | 分散型構成管理装置、分散型構成管理方法、及び、分散型構成管理プログラム |