TWI525432B - 儲存方法及軟體定義儲存系統 - Google Patents

儲存方法及軟體定義儲存系統 Download PDF

Info

Publication number
TWI525432B
TWI525432B TW104105688A TW104105688A TWI525432B TW I525432 B TWI525432 B TW I525432B TW 104105688 A TW104105688 A TW 104105688A TW 104105688 A TW104105688 A TW 104105688A TW I525432 B TWI525432 B TW I525432B
Authority
TW
Taiwan
Prior art keywords
target
virtual
storage system
control unit
software
Prior art date
Application number
TW104105688A
Other languages
English (en)
Other versions
TW201631474A (zh
Inventor
丁筱雯
陳志明
Original Assignee
緯創資通股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 緯創資通股份有限公司 filed Critical 緯創資通股份有限公司
Priority to TW104105688A priority Critical patent/TWI525432B/zh
Priority to CN201510095334.6A priority patent/CN105988731A/zh
Priority to US14/748,196 priority patent/US20160239239A1/en
Application granted granted Critical
Publication of TWI525432B publication Critical patent/TWI525432B/zh
Publication of TW201631474A publication Critical patent/TW201631474A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device

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)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

儲存方法及軟體定義儲存系統
本發明係指一種儲存方法及軟體定義儲存系統,尤指一種降低儲存系統之生產成本之儲存方法及軟體定義儲存系統。
面對大數據(Big Data)時代的來臨,儲存設備所需的容量將越來越大。傳統儲存系統在擴充儲存設備上動輒花費數周的時間,相當耗時,且需解決不同品牌的儲存設備間的相容性問題。軟體定義儲存系統係將儲存設備當中的儲存控制功能自儲存硬體設備中抽離,例如硬碟陣列(Redundant Array of Independent Disks,RAID)等級的設定、資料卷的管理、資料保護、資料複製、資料快照等功能,並將儲存控制功能轉而由外部軟體執行,如此一來,擴充儲存設備僅需花費數小時的時間即可完成設置,儲存控制功能集中控管亦可解決傳統儲存硬體設備之間之相容性問題。
請參考第1圖,第1圖為習知一軟體定義儲存系統10之示意圖。軟體定義儲存系統10包含有一負載平衡器100及適配器102_1~102_N,負載平衡器100用來於收到來自用戶端之一指令後,將該指令分派給適配器102_1~102_N,而適配器102_1~102_N皆為儲存介面卡,用來對軟體定義儲存系統10所儲存之資料進行操作。其中,用戶端之指令包含一目標資訊,用來指示軟體定義儲存系統10對該目標資訊所對應之目標資料進行如讀取、寫入等操作。每一適配器可將指令傳送(Forward)至目標資訊所對應之虛擬目標,即可對指令所指定之目標資料進行操作。虛擬目標可利用鏡像(Mirroring)複製而成為複數個目標副本(Replica),複數個目標副本用來縮短反應時間,即當一目標副本因忙碌而導致其反應時間過長時,適配單元可 選擇另一空閒之目標副本,以減少存取目標資料之反應時間。以第1圖為例,虛擬目標vTGT_b經鏡像複製後具有3個目標副本,而虛擬目標vTGT_1、vTGT_M僅具有1個目標副本。另外,每一目標副本可對應至一虛擬磁碟vDSK(即邏輯單元號碼(Logic Unit Number,LUN)),而虛擬磁碟vDSK可對應至一虛擬卷vVOL,軟體定義儲存系統10即可對虛擬卷vVOL所對應之目標資料進行操作。
為了執行儲存控制功能(例如:自複數個目標副本當中搜尋路徑 /反應時間最短之一目標副本),適配器102_1~102_N分別包含控制單元104_1~104_N,控制單元104_1~104_N用來分別執行適配器102_1~102_N之儲存控制及其相關運算(如路徑最佳化之運算)。因控制單元104_1~104_N需具備一特定程度之運算能力,而使得適配器102_1~102_N之生產成本相當昂貴,尤其是當儲存系統10所包含之適配器102_1~102_N之數量增加時,儲存系統10之成本必隨之增加。有鑑於此,如何降低軟體定義儲存系統之生產成本也就成為業界所努力的目標之一。
因此,本發明之主要目的在於提供一種儲存方法及儲存系統,其可降低儲存系統之生產成本。
本發明揭露一種儲存方法,用於一軟體定義儲存系統,該軟體定義儲存系統包含有一負載平衡單元、一控制單元及複數個適配單元,該複數個適配單元對應於複數個虛擬目標,該儲存方法包含有於該軟體定義儲存系統接收一指令後,該負載平衡單元分派該指令至該複數個適配單元;該控制單元根據該複數個適配單元及該複數個虛擬目標之相對關係,產生一配對資訊,並將該配對資訊傳送至該複數個適配單元;以及根據該配對資訊及該指令,該複數個適配單元之一第一適配單元將該指令轉送至一第一虛擬目標,該軟體定義儲存系統對該第一虛擬目標進行操作。
本發明另揭露一種軟體定義儲存系統,包含有複數個適配單元, 對應於複數個虛擬目標;一負載平衡單元,用來分派該指令至該複數個適配單元;以及一控制單元,根據該複數個適配單元及該複數個虛擬目標之相對關係,產生一配對資訊,並將該配對資訊傳送至該複數個適配單元;其中,根據該配對資訊及該指令,該複數個適配單元之一第一適配單元將該指令轉送至一第一虛擬目標,該軟體定義儲存系統對該第一虛擬目標進行操作。
10、20‧‧‧軟體定義儲存系統
100、200‧‧‧負載平衡器
102_1~102_N‧‧‧適配器
202_1~202_N‧‧‧適配單元
104_1~104_N、204‧‧‧控制單元
30‧‧‧儲存流程
50‧‧‧蟻群演算流程
300~308、500~510‧‧‧步驟
vTGT_1~vTGT_M‧‧‧虛擬目標
vTGT_y_1~vTGT_y_K‧‧‧目標副本
vDSK‧‧‧虛擬磁碟
vVOL‧‧‧虛擬卷
第1圖為習知一軟體定義儲存系統之示意圖。
第2圖為本發明實施例一軟體定義儲存系統之示意圖。
第3圖為本發明實施例一儲存流程之示意圖。
第4圖為本發明實施例複數個目標副本之示意圖。
第5圖為一蟻群演算流程之流程圖。
請參考第2圖,第2圖為本發明實施例一軟體定義儲存系統20之示意圖。軟體定義儲存系統20可由用戶端(Client)接收一指令CMD,並針對指令CMD進行操作,其包含有一負載平衡單元200、適配單元202_1~202_N及一控制單元204。負載平衡單元200用來分派指令CMD至適配單元202_1~202_N。指令CMD為一小型電腦系統介面(Small Computer System Interface,SCSI)指令,其包含一目標資訊,用來指示軟體定義儲存系統20對該目標資訊所對應之目標資料進行如讀取、寫入等操作,而目標資訊對應於軟體定義儲存系統20之虛擬目標vTGT_1~vTGT_M中一虛擬目標vTGT_y。整體而言,適配單元202_1~202_N可將指令CMD轉送(Forward)至虛擬目標vTGT_1~vTGT_M,其中,虛擬目標vTGT_1~vTGT_M以軟體方式實現。控制單元204用來決定適配單元202_1~202_N與虛擬目標vTGT_1~vTGT_M之間之配對關係,更明確來說,控制單元204可根據虛擬目標vTGT_1~vTGT_M之特性,產生一配對資訊表TBE,並將配對資訊表 TBE傳送至適配單元202_1~202_N。適配單元202_1~202_N之一適配單元202_x收到配對資訊表TBE後,即可根據配對資訊表TBE,將指令CMD轉送至虛擬目標vTGT_y,如此一來,軟體定義儲存系統20即可對指令CMD所指定之目標資料進行操作。具體來說,控制單元204根據虛擬目標vTGT_1~vTGT_M之反應時間產生配對資訊表TBE。另外,控制單元204可利用具有一特定程度之運算能力之硬體設備來實現,如電腦或伺服器等。
簡言之,在軟體定義儲存系統20中,路徑搜尋之運算集中由控制 單元204來執行,控制單元204可將路徑搜尋之運算結果以配對資訊表TBE的形式傳送至適配單元202_1~202_N,而適配單元202_1~202_N本身毋需執行路徑搜尋之運算,只需接受來自控制單元204之配對資訊表TBE,並根據配對資訊表TBE將指令CMD轉送至其對應之虛擬目標即可。如此一來,適配單元202_1~202_N可利用成本低廉之儲存介面卡來實現,以降低軟體定義儲存系統20之生產成本。
關於軟體定義儲存系統20接收指令CMD並對指令CMD所指定 之虛擬目標進行操作的流程,請參考第3圖,第3圖為本發明實施例一儲存流程30之示意圖。如第3圖所示,儲存流程30包含以下步驟:步驟300:開始。
步驟302:於軟體定義儲存系統20接收指令CMD後,負載平衡 單元200分派指令CMD至適配單元202_1~202_N,其中指令CMD指示軟體定義儲存系統20對虛擬目標vTGT_1~vTGT_M中虛擬目標vTGT_y進行操作。
步驟304:控制單元204根據虛擬目標vTGT_1~vTGT_M之反應 時間,產生一配對資訊表TBE,並將配對資訊表TBE傳送至適配單元202_1~202_N。
步驟306:根據配對資訊表TBE及指令CMD,適配單元202_1 ~202_N之適配單元202_x將指令CMD轉送(Forward)至虛擬目標vTGT_y, 軟體定義儲存系統20對虛擬目標vTGT_y進行操作。
步驟308:結束。
於步驟302中,負載平衡單元200分派指令CMD至適配單元202_1~202_N,適配單元202_1~202_N可對虛擬目標vTGT_1~vTGT_M進行操作,指令CMD指示軟體定義儲存系統20對虛擬目標vTGT_y進行操作。
於步驟304中,控制單元204根據虛擬目標vTGT_1~vTGT_M之反應時間,產生配對資訊表TBE,並將配對資訊表TBE傳送至適配單元202_1~202_N。換句話說,控制單元204執行路徑搜尋之運算係為尋找最短路徑之虛擬目標vTGT_1~vTGT_M,亦即反應時間最短的虛擬目標vTGT_1~vTGT_M,並將適配單元202_1~202_N與虛擬目標vTGT_1~vTGT_M之配對關係形成為配對資訊表TBE。關於配對資訊表TBE格式之一實施方式,請參考表1。表1依序包含一適配單元欄位、一虛擬目標欄位及一SCSI指令欄位包含一適配單元欄位、一虛擬目標欄位及一SCSI指令欄位,如表1所示,適配單元欄位中可填入適配單元202_1~202_N,虛擬目標欄位中填入分別對應於適配單元202_1~202_N之虛擬目標vTGT_1~vTGT_M,舉例來說,根據表1,一指令CMD_1所指定之虛擬目標vTGT_k1對應於適配單元202_1,一指令CMD_N所指定之虛擬目標vTGT_kN對應於適配單元202_N,而指令CMD所指定之虛擬目標vTGT_y對應於適配單元202_x。
另一方面,為了使虛擬目標具有更短的反應時間,可增加適配單 元至虛擬目標之間之路徑多樣性以達到更短的反應時間。詳細來說,虛擬目標可選擇性地鏡像(Mirroring)複製成為複數個目標副本(Replica),當其中一目標副本因忙碌而導致其反應時間過長時,適配單元可將指令CMD傳送至另一空閒之目標副本以目標資料進行操作,以減少存取目標資料之反應時間,其中,目標副本以軟體方式實現。舉例來說,於一實施例中,虛擬目標vTGT_y可鏡像複製成為目標副本vTGT_y_1~vTGT_y_K,如第4圖所示。 另外,目標副本的個數可視系統需求而有所調整,例如,當虛擬目標vTGT_y之反應時間大於一第一特定值時,軟體定義儲存系統20可自行增加虛擬目標vTGT_y之目標副本個數;或者,當虛擬目標vTGT_y之反應時間小於一第二特定值時,軟體定義儲存系統20可自行縮減虛擬目標vTGT_y之目標副本個數。除此之外,每一目標副本可對應至一虛擬磁碟vDSK(即邏輯單元號碼(Logic Unit Number,LUN)),而虛擬磁碟vDSK可對應至一虛擬卷vVOL,軟體定義儲存系統20即可對虛擬卷vVOL所對應之目標資料進行操作。
在此情形下,控制單元204需根據適配單元202_1~202_N與目 標副本vTGT_y_1~vTGT_y_K,自目標副本vTGT_y_1~vTGT_y_K中選取反應時間最短之一最佳目標副本vTGT_y_opt(即尋找最佳路徑)。具體來說,控制單元204可利用一蟻群最佳演算法(Ant Colony Optimization,ACO),自目標副本vTGT_y_1~vTGT_y_K中選取具有最短反應時間之最佳目標副本vTGT_y_opt。蟻群最佳演算法係模擬螞蟻在覓食時於路徑上所留下之費洛蒙(Pheromone),並透過多次迭代後收斂至一最佳化路徑之機率型演算法,利用蟻群最佳演算法進行路徑最佳化的運作方式係為本領域所熟知,簡述如下。
請參考第5圖,第5圖為一蟻群演算流程50之流程圖。如第5圖所示,蟻群演算流程50包含以下步驟:步驟500:開始。
步驟502:初始化參數。
步驟504:螞蟻搜尋路徑。
步驟506:更新費洛蒙。
步驟508:檢查是否到達停止條件。若是,則執行步驟510;若否,則執行步驟504。
步驟510:結束。
於步驟502中,初始化蟻群最佳演算法所需之參數,即費洛蒙影響力控制係數α、費洛蒙初始值之影響力控制係數β、費洛蒙蒸發係數δ、影響費洛蒙的參數Q、螞蟻數量R。於步驟504中,進行模擬螞蟻搜尋路徑,並計算其路徑則機率,具體來說,當進行第t次迭代時,第r隻螞蟻從節點i爬行節點j之機率為
其中τ ij (t)代表第t次迭代時節點i到節點j之間的費洛蒙濃度,η ij 節點i到節點j之費洛蒙初始值,通常為節點i到節點j之距離之倒數,J r (i)為第r隻螞蟻位於節點i時尚未走過節點之集合。當螞蟻站在節點i欲決定下一個節點時,(τ ij (t)) α ×(η ij ) β 的值越大,選擇節點j機率就越大。當每隻螞蟻選擇完所有節點時,於步驟502中,對路徑上的費洛蒙進行更新,更新公式如下:
其中,L r 為第r隻螞蟻所行路徑之總長度,每完成一次費洛蒙更 新即完成一次迭代。於步驟508中,檢查是否到達停止條件,當第T次迭代所得的解與第(T-1)次迭代所得的解之間的差距小於一特定程度時,或是當迭代達到一固定次數後,結束蟻群最佳演算流程50。
需注意的是,蟻群最佳演算法中的節點與節點間的距離即代表節 點間的反應時間,節點即代表軟體定義儲存系統20之適配單元202_1~202_N、虛擬目標vTGT_1~vTGT_M及其目標副本。根據蟻群最佳演算法,控制單元204即可自目標副本vTGT_y_1~vTGT_y_K中選取具有最短反應時間之最佳目標副本vTGT_y_opt。在此情形下,控制單元204所產生之配對資訊表TBE需包含最佳目標副本vTGT_y_opt之資訊,如表2所示,指令CMD對應於最佳目標副本vTGT_y_opt。
於步驟306中,根據配對資訊表TBE及指令CMD,適配單元202_x將指令CMD轉送至虛擬目標vTGT_y,軟體定義儲存系統20對虛擬目標vTGT_y進行操作。具體來說,於一實施例中,當虛擬目標vTGT_y僅具有單一目標副本且配對資訊表TBE如表1時,適配單元202_1~202_N根據指令CMD對資訊表TBE進行配對,若其中適配單元202_x配對得出指令CMD及其虛擬目標vTGT_y對應至適配單元202_x本身時,則適配單元202_x將指令CMD轉送至虛擬目標vTGT_y,而其餘適配單元則不動作。於一實施例中,當虛擬目標vTGT_y具有目標副本vTGT_y_1~vTGT_y_K且配對資訊表 TBE為如表2時,若適配單元202_x根據配對資訊表TBE得出指令CMD及其最佳目標副本vTGT_y_opt對應至適配單元202_x本身時,則適配單元202_x將指令CMD轉送至最佳目標副本vTGT_y_opt,而其餘適配單元則不動作。如此一來,軟體定義儲存系統20即可透過最佳目標副本vTGT_y_opt對目標資料進行操作。
由上述可知,透過儲存流程30,路徑搜尋集中於控制單元204進 行運算,控制單元204於運算結束後,將運算結果以配對資訊表TBE的形式傳送至適配單元202_1~202_N,適配單元202_1~202_N即可根據配對資訊表TBE將指令CMD轉送至目標單元或最佳目標副本。相較於習知技術,適配單元202_1~202_N毋需執行路徑搜尋之運算,只需接受來自控制單元204之運算結果,並根據運算結果將指令CMD轉送至其對應之虛擬目標即可。 如此一來,適配單元202_1~202_N可利用成本低廉之儲存介面卡來實現,以降低軟體定義儲存系統20之生產成本。
需注意的是,前述實施例係用以說明本發明之概念,本領域具通 常知識者當可據以做不同之修飾,而不限於此。舉例來說,控制單元204不限於用電腦或伺服器等硬體來實現,控制單元204亦可利用如虛擬機器(Virtual Machine,VM)等軟體來實現。虛擬目標與目標副本不限於以軟體實現,虛擬目標與目標副本亦可以韌體實現。另外,步驟304中自複數個目標副本中選取反應時間最短之最佳目標副本的方法,不限於使用蟻群演算法來進行路徑搜尋,亦可利用其他路徑搜尋演算法來實現路徑搜尋之運算,只要關於路徑搜尋之運算集中於軟體定義儲存系統之單一控制單元來執行,即符合本發明之要求。
綜上所述,本發明將路徑搜尋所需之運算集中於單一控制單元來 執行,適配單元本身毋需擔負執行運算的工作,如此一來,適配單元即可利用成本低廉之儲存介面卡來實現,因此,相較於習知技術,本發明之儲存方法及系統可有效降低軟體定義儲存系統之生產成本。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
30‧‧‧儲存流程
300~308‧‧‧步驟

Claims (16)

  1. 一種儲存方法,用於一軟體定義儲存系統,該軟體定義儲存系統包含有一負載平衡單元、一控制單元及複數個適配單元,該複數個適配單元對應於複數個虛擬目標,該儲存方法包含有:於該軟體定義儲存系統接收一指令後,該負載平衡單元分派該指令至該複數個適配單元;該控制單元根據該複數個虛擬目標之特性,產生一配對資訊,並將該配對資訊傳送至該複數個適配單元;以及根據該配對資訊及該指令,該複數個適配單元之一第一適配單元將該指令轉送至一第一虛擬目標,該軟體定義儲存系統對該第一虛擬目標進行操作;其中該複數個虛擬目標中每一虛擬目標形成至少一目標副本。
  2. 如請求項1所述之儲存方法,其中該至少一目標副本的個數視系統需求而增加或減少。
  3. 如請求項1所述之儲存方法,其中該虛擬目標及該至少一目標副本係以軟體或韌體方式實現。
  4. 如請求項1所述之儲存方法,其中該控制單元根據該複數個適配單元及該複數個虛擬目標,產生該配對資訊的步驟,另包含有:於該第一虛擬目標所形成之目標副本之個數大於一時,該控制單元根據該複數個適配單元與對應於該第一虛擬目標之複數個第一目標副本,自該複數個第一目標副本中選取一最佳目標副本;以及該控制單元根據該複數個適配單元與該最佳目標副本,產生該配對資訊。
  5. 如請求項4所述之儲存方法,其中該控制單元透過一蟻群最佳演算法,自該複數個第一目標副本中選取該最佳目標副本。
  6. 如請求項1所述之儲存方法,其中該指令為一小型電腦系統介面指令。
  7. 如請求項1所述之儲存方法,其中該負載平衡單元、該控制單元及該複數個適配單元係以硬體或軟體方式實現。
  8. 如請求項1所述之儲存方法,其中該複數個虛擬目標之特性為該複數個虛擬目標之反應時間。
  9. 一種軟體定義儲存系統,包含有:複數個適配單元,對應於複數個虛擬目標;一負載平衡單元,用來分派一指令至該複數個適配單元;以及一控制單元,該控制單元根據該複數個虛擬目標之特性,產生一配對資訊,並將該配對資訊傳送至該複數個適配單元;其中,根據該配對資訊及該指令,該複數個適配單元之一第一適配單元將該指令轉送至一第一虛擬目標,該軟體定義儲存系統對該第一虛擬目標進行操作;其中該複數個虛擬目標中每一虛擬目標形成至少一目標副本。
  10. 如請求項9所述之軟體定義儲存系統,其中該至少一目標副本的個數視系統需求而增加或減少。
  11. 如請求項9所述之軟體定義儲存系統,其中該控制單元另用來執行以下步驟,以根據該複數個適配單元及該複數個虛擬目標,產生該配對資訊的步驟:於該第一虛擬目標所形成之目標副本之個數大於一時,該控制單元根據該複數個適配單元與對應於該第一虛擬目標之複數個第一目標副本,自該複數個第一目標副本中選取一最佳目標副本;以及該控制單元根據該複數個適配單元與該最佳目標副本,產生該配對資訊。
  12. 如請求項11所述之軟體定義儲存系統,其中該控制單元透過一蟻群最佳演算法,自該複數個第一目標副本中選取該最佳目標副本。
  13. 如請求項9所述之軟體定義儲存系統,其中該指令為一小型電腦系統介面指令。
  14. 如請求項9所述之軟體定義儲存系統,其中該負載平衡單元、該控制單元及該複數個適配單元係以硬體或軟體方式實現。
  15. 如請求項9所述之軟體定義儲存系統,其中該虛擬目標及該至少一目標副本係以軟體或韌體方式實現。
  16. 如請求項9所述之軟體定義儲存系統,其中該複數個虛擬目標之特性為該複數個虛擬目標之反應時間。
TW104105688A 2015-02-17 2015-02-17 儲存方法及軟體定義儲存系統 TWI525432B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW104105688A TWI525432B (zh) 2015-02-17 2015-02-17 儲存方法及軟體定義儲存系統
CN201510095334.6A CN105988731A (zh) 2015-02-17 2015-03-04 储存方法及软件定义储存系统
US14/748,196 US20160239239A1 (en) 2015-02-17 2015-06-23 Storage Method and Software Defined Storage System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104105688A TWI525432B (zh) 2015-02-17 2015-02-17 儲存方法及軟體定義儲存系統

Publications (2)

Publication Number Publication Date
TWI525432B true TWI525432B (zh) 2016-03-11
TW201631474A TW201631474A (zh) 2016-09-01

Family

ID=56085426

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104105688A TWI525432B (zh) 2015-02-17 2015-02-17 儲存方法及軟體定義儲存系統

Country Status (3)

Country Link
US (1) US20160239239A1 (zh)
CN (1) CN105988731A (zh)
TW (1) TWI525432B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10079729B2 (en) * 2015-06-29 2018-09-18 International Business Machines Corporation Adaptive storage-aware multipath management
US10540245B2 (en) * 2016-11-22 2020-01-21 International Business Machines Corporation One-step disaster recovery configuration on software-defined storage systems
US10579553B2 (en) 2017-03-14 2020-03-03 International Business Machines Corporation Storage capability aware software defined storage
US11240306B2 (en) 2017-11-06 2022-02-01 Vast Data Ltd. Scalable storage system
US10678461B2 (en) 2018-06-07 2020-06-09 Vast Data Ltd. Distributed scalable storage
US10656857B2 (en) 2018-06-07 2020-05-19 Vast Data Ltd. Storage system indexed using persistent metadata structures
US10795735B1 (en) * 2018-10-31 2020-10-06 EMC IP Holding Company LLC Method and apparatus for load balancing virtual data movers between nodes of a storage cluster
TWI720400B (zh) * 2019-01-04 2021-03-01 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
US11227016B2 (en) 2020-03-12 2022-01-18 Vast Data Ltd. Scalable locking techniques

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4800059B2 (ja) * 2006-02-13 2011-10-26 株式会社日立製作所 仮想ストレージシステム及びその制御方法
US9400605B2 (en) * 2011-01-12 2016-07-26 International Business Machines Corporation Efficient management of a virtual tape library cluster
CN103701900B (zh) * 2013-12-26 2017-02-08 清华大学 基于异构集群的数据分布方法
CN104317646B (zh) * 2014-10-23 2017-10-24 西安电子科技大学 基于OpenFlow框架下云数据中心虚拟机调度方法

Also Published As

Publication number Publication date
TW201631474A (zh) 2016-09-01
CN105988731A (zh) 2016-10-05
US20160239239A1 (en) 2016-08-18

Similar Documents

Publication Publication Date Title
TWI525432B (zh) 儲存方法及軟體定義儲存系統
US9607331B2 (en) Near-duplicate filtering in search engine result page of an online shopping system
US10534547B2 (en) Consistent transition from asynchronous to synchronous replication in hash-based storage systems
US7805566B2 (en) Replication in storage systems using a target port mimicking a host initiator port
US9652414B1 (en) Balancing response times for synchronous I/O requests having different priorities
US8346788B1 (en) Techniques for mapping data models using an intermediate processing layer
US8713272B2 (en) Point-in-time copies in a cascade using maps and fdisks
US8856079B1 (en) Application programming interface for efficient object information gathering and listing
WO2017124713A1 (zh) 一种数据模型的确定方法及装置
US20160212206A1 (en) Deterministic database system and data transferring method thereof
US10409838B1 (en) Managing registration and reservation information in an active-active configuration
WO2015110062A1 (zh) 一种分布式数据存储方法、装置和系统
CN103514229A (zh) 用于在分布式数据库系统中处理数据库数据的方法和装置
US11188243B2 (en) Storage management apparatus, information system, and storage management method
US10936522B1 (en) Performing input-output multi-pathing from user space
US20140059312A1 (en) Recording medium, computer, and information processing system
US11044312B2 (en) Storage segment server covered cache
US20180011886A1 (en) Parallel transfers of electronic data
WO2018120939A1 (zh) 一种存储系统扩容后数据迁移的方法、存储系统
US9607020B1 (en) Data migration system
KR102225577B1 (ko) 하이브리드 스토리지를 이용한 데이터 분산 저장 방법 및 장치
JP5914699B2 (ja) マイグレーションによるデータベースの作業負荷バランシング
CN110389827B (zh) 在分布式系统中进行优化的方法、设备和计算机程序产品
US10929057B2 (en) Selecting a disconnect from different types of channel disconnects using a machine learning module
US11341407B2 (en) Selecting a disconnect from different types of channel disconnects by training a machine learning module

Legal Events

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