TWI628587B - 用於虛擬化儲存單元的儲存單元選擇 - Google Patents

用於虛擬化儲存單元的儲存單元選擇 Download PDF

Info

Publication number
TWI628587B
TWI628587B TW103109684A TW103109684A TWI628587B TW I628587 B TWI628587 B TW I628587B TW 103109684 A TW103109684 A TW 103109684A TW 103109684 A TW103109684 A TW 103109684A TW I628587 B TWI628587 B TW I628587B
Authority
TW
Taiwan
Prior art keywords
storage unit
performance
specific
storage
data
Prior art date
Application number
TW103109684A
Other languages
English (en)
Other versions
TW201447745A (zh
Inventor
藍格傑森A
艾德華約翰K
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 布雷奇特電腦股份有限公司
Publication of TW201447745A publication Critical patent/TW201447745A/zh
Application granted granted Critical
Publication of TWI628587B publication Critical patent/TWI628587B/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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
    • G06F3/0649Lifecycle management
    • 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/0653Monitoring storage devices or 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • 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/0614Improving the reliability of 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

藉由執行儲存總管邏輯,來針對位於一虛擬資料中心處的複數個儲存單元中之各儲存單元決定效能資訊,該儲存總管邏輯的執行係由不同於該虛擬資料中心提供者的一管理實體所控制。效能期望係根據經決定之效能資訊所自動地決定。回應於決定一特定儲存單元之效能不符合可套用至該特定儲存單元的特定效能期望,實施例致使該特定儲存單元之利用率降低。根據經決定之效能資訊,另一實施例決定一效能型態已經發生,該效能型態指示一第一儲存單元及一第二儲存單元的一實體機房共置(physical co-location)。回應於決定指示第一儲存單元及第二儲存單元的實體機房共置之該效能型態已經發生,該實施例因至少一特定目的而停用該第一儲存單元或該第二儲存單元的一所選儲存單元。

Description

用於虛擬化儲存單元的儲存單元選擇
本揭示案乃概略關於選擇虛擬化儲存單元以供運用電腦實施技術。
本節所描述之手段可被採用,但該些手段並不必然為先前所構思或採用者。因此除非另有說明,本節所描述之手段並非本申請案之申請專利範圍的先前技術,且該些手段並不藉由納入此節而被認可為先前技術。
許多企業及其等之電腦系統運用儲存單元,該些儲存單元由一虛擬資料中心(VDC)所提供,並且可透過網際網路存取。在此種配置中,企業是虛擬資料中心(VDC)的客戶。由虛擬資料中心所提供的儲存單元可為虛擬化儲存集用場,該虛擬化儲存集用場由虛擬資料中心處之多個不同實體儲存裝置的分割區(partitioned portion)所組成。此種客戶也可實例化(instantiate)CPU資源以在一個與該些儲存單元協同操作的VDC中執行工作。在這樣的配置中,儲存器之利用率的管理可獨立於CPU資源。
此種雲端儲存服務可提供客戶許多益處,像是降低的儲存成本、較簡單的可擴充性,以及降低的行政管理負擔。然而,此種雲端儲存系統的一個缺點是由虛擬資料中心所提供之儲存單元的效能經常變化很大;完成一讀取操作或寫入操作所需的時間可能有極大變異。更甚者,企業客戶往往支付差不多的金額,而所獲得的不同儲存單元其所執行方式大大不同。我們需要用於從雲端儲存單元獲得更高品質效能的手段。
隨附之申請專利範圍可作為本發明之發明內容。
100‧‧‧客戶機器
102‧‧‧資料處理單元
104‧‧‧資料產生單元
106‧‧‧儲存總管
108‧‧‧儲存系統效能監測器
110‧‧‧儲存單元選擇器
112‧‧‧儲存單元資料操作請求總管
116、130‧‧‧儲存單元管理器
118、132‧‧‧儲存單元效能監測器
120、134‧‧‧儲存單元存取單元
122、126、136、140‧‧‧儲存單元
124、128、138、142‧‧‧客戶資料
210‧‧‧客戶
220‧‧‧管理器
222、224、226‧‧‧虛擬機器
302、304、306、308、310、402、404、406‧‧‧方塊
500‧‧‧電腦系統
502‧‧‧匯流排
504‧‧‧處理器
506‧‧‧主記憶體
508‧‧‧ROM
510‧‧‧儲存裝置
512‧‧‧顯示器
514‧‧‧輸入裝置
516‧‧‧游標控制
518‧‧‧通訊介面
520‧‧‧網路連結
522‧‧‧區域網路
524‧‧‧主機
526‧‧‧ISP
528‧‧‧網際網路
530‧‧‧伺服器
在圖式中:第1圖圖示一範例連網電腦系統配置,該配置可經用以實現一實施例。
第2圖圖示按照一實施例之該範例連網電腦系統配置的情境。
第3圖圖示一範例方法,該方法用於自動地選擇用於降低利用率的一儲存單元。
第4圖圖示一範例方法,該方法用於自動地決定因一特定目的而不被使用的一特定儲存單元。
第5圖圖示一電腦系統,在該電腦系統上可實現一實施例。
本說明書說明用於儲存單元選擇的方法。在以下說 明中,為了解釋之目的而闡述了數種特定細節,以提供對本發明之通盤瞭解。然而,對於本發明所屬領域之技藝人士而言,將顯而易見本發明可不需該些特定細節而經實施。在其他實例中,為了避免不必要地隱藏本發明,一般熟知之結構及裝置係以方塊圖形式顯示。
在此按照以下之綱要來說明實施例:
1.0一般概觀
2.0結構性及功能性概觀
3.0實施機制一硬體概觀
4.0延伸及替代方案
1.0一般概觀
在一連網電腦系統中可使用實施例,該連網電腦系統具有一個儲存總管電腦、複數個基於電腦之儲存單元,以及一個客戶電腦或機器。在一實施例中,一儲存總管管理關聯於一客戶機器的複數個儲存單元,並自動地決定將降低其利用率之特定儲存單元或將為至少一特定目的而停用其運用的特定儲存單元。該決定可根據所觀察之一或更多儲存單元的效能而自動地發生。該儲存總管可根據該經決定之效能資訊來自動地致使該特定儲存單元之利用率降低或增加,或可因一特定目的而自動地停用該特定儲存單元的利用率。
按照一實施例,一電腦實施程序針對位於一虛擬資料中心處的複數個儲存單元中之各儲存單元決定效能資訊。在此情境中,虛擬資料中心或VDC指下列之任一者:一或更多虛擬化企業電腦系統、私人資料中心中的虛擬機器基礎建 設、私人雲端中之計算、儲存或連網資源、公用雲端中的資源(諸如由雲端服務提供者(CSP)所提供之資源),以及混合雲端(hybrid cloud)計算環境。該決定步驟藉由執行儲存總管邏輯來進行,儲存總管邏輯之執行係由不同於該虛擬資料中心提供者之一管理實體所控制。該程序自動地根據該所決定效能資訊,來決定效能期望。該程序決定可套用至一特定儲存單元的特定效能期望。該程序決定該特定儲存單元的效能不符合該特定效能期望。至少部份地回應於決定該儲存單元之效能不符合該效能期望,該程序致使該特定儲存單元之利用率的減少。在某些實施例中,利用率可以其他方式增加或改變。
在該儲存單元所關聯之客戶機器的效能品質變動極大的環境中,此種做法特別有用。在儲存單元為由虛擬資料中心所提供之虛擬磁碟的實施例中,一特定虛擬磁碟的品質可依照各種因素而異,該些因素諸如代管(host)該虛擬磁碟之該特定實體機器的品質、代管該虛擬磁碟之該特定實體機器所處理的工作負載量,或用以存取該虛擬磁碟之特定網路路徑的品質。藉由辨識出有問題的儲存單元,以及自動地重新配置資料儲存器以降低該特定儲存單元的利用率,該儲存總管邏輯可改善所提供給一客戶機器的整體儲存單元效能。
按照另一實施例,一電腦實施程序針對位於一虛擬資料中心處的複數個儲存單元中之各儲存單元決定效能資訊。該決定步驟係藉由執行儲存管理器邏輯所進行,該儲存管理器邏輯的執行係由不同於該虛擬資料中心提供者的一管 理實體所控制。根據該經決定之效能資訊,該程序決定一效能型態已經發生,該效能型態指示一第一儲存單元及一第二儲存單元的一實體機房共置(physical co-location)。回應於決定該效能型態已經發生,該程序因至少一特定目的而停用該第一儲存單元或該第二儲存單元中之一者或兩者。在其中該第一儲存單元及該第二儲存單元中至少一者永遠可操作的系統中,此種作法特別有用。此種做法可以:(1)協助減少兩個儲存單元同時都故障的機會,以及(2)藉由最佳化底層之實體基礎建設的使用率,使得更多硬碟轉軸得以運用,來改善該系統的價格效能比。
2.0結構性及功能性概觀
第1圖圖示可用以實施一實施例的一範例連網電腦系統配置。為了圖示明確之範例的目的,第1圖顯示在一代表數目之實施例中可使用的各種功能性元件;然而,其他實施例可使用任意數目之此種功能性元件,而因此第1圖僅作為一可能之實施範例。客戶機器100包含資料處理單元102及資料產生單元104,資料處理單元102可處理儲存單元所擷取的資料,資料產生單元104可產生被儲存在儲存單元中的資料,該等儲存單元遠端於該客戶機器。
客戶機器100可經通訊耦接至儲存總管106。客戶機器100可使用各種通訊協定之任一者來傳送資料至儲存總管106或從儲存總管106接收資料,該等通訊協定包括(但不限於)網際網路小型電腦系統介面(iSCSI)協定。客戶機器100可被代管於各種位置中,該等位置包括(但不限於) 在企業資料中心中的虛擬或實體機器,或者在第三方虛擬資料中心中所代管的虛擬機器中。儲存總管106代表用於處理導往儲存單元之資料操作請求的電腦、程式或程序、或其他邏輯元件,該些儲存單元(例如儲存單元122、126、136及140)遠端於客戶機器100。儲存單元122、126、136及140可為由一或更多虛擬資料中心提供者所代管的虛擬化儲存單元。
該等資料操作請求可包括要從該等儲存單元讀取資料的請求或是要寫入資料至該等儲存單元的請求。儲存總管106可遠端於客戶機器100,以及該客戶機器可通過一或更多不同類型之網路來與儲存總管通訊,該等不同類型之網路像是一或更多區域網路、廣域網路、網間網路(Internetwork)或網際網路。
儲存總管106包含儲存單元資料操作請求總管112、儲存系統效能監測器108、以及儲存單元選擇器110。儲存單元資料操作請求總管112可將進來之資料操作請求導至適當的儲存單元管理器或儲存單元。儲存系統效能監測器108可接收有關不同儲存單元之效能的資訊,該些不同儲存單元包括關聯於客戶機器100的儲存單元,例如儲存單元122、126、136及140。儲存單元選擇器110可分析由儲存系統效能監測器108所收集的資訊,並且可決定要增加或減少特定儲存單元的利用率,或者該等特定儲存單元將被運用於不同目的。儲存單元選擇器110可致使該等特定儲存單元之利用率的改變。
儲存總管106可經通訊耦接至一或更多儲存單元管理器,像是儲存單元管理器116、130。儲存單元管理器116及130各自可經通訊耦接至一或更多儲存單元,像是儲存單元122、126、136及140。在一實施例中,儲存總管106直接地與儲存單元122、126、136及140通訊,而不是通過一儲存單元管理器來與儲存單元122、126、136及140通訊。
儲存單元管理器116及130包含儲存單元效能監測器118及132,以及儲存單元存取單元120及134。儲存單元存取單元120可傳送資訊至儲存單元122及儲存單元126,或者可從儲存單元122及儲存單元126接收資訊,儲存單元122及儲存單元126兩者都通訊耦接至儲存單元管理器116。同樣地,儲存單元存取單元134可傳送資訊至儲存單元136及儲存單元140,或者可從儲存單元136及儲存單元140接收資訊,儲存單元136及儲存單元140兩者都通訊耦接至儲存單元管理器130。儲存單元效能監測器118及132可收集有關儲存單元之效能的資訊,該等儲存單元關聯儲存單元效能監測器118及132個別的儲存單元管理器,且儲存單元效能監測器118及132也可將該效能資訊、或根據該效能資訊所決定之其他資訊,傳送至儲存總管106。
儲存單元122、126、136及140可包括關聯於客戶機器100的資料,像是客戶資料124、128、138、142。客戶機器100可藉由傳送讀取請求至儲存總管106以從儲存單元122、126、136及140讀取資料,或藉由傳送寫入請求至儲存總管106來寫入資料至儲存單元122、126、136及140。
儲存總管106可接收來自複數個不同客戶(像是客戶機器100)對於讀取及(或)寫入資料的請求,且儲存總管106可直接地、或間接地通過儲存單元管理器,來通訊耦接於複數個不同儲存單元,該等複數個不同儲存單元中某些儲存單元包含關聯於一特定客戶的資料,而其他儲存單元包含關聯於一不同客戶的資料。
在儲存總管106、儲存單元管理器116及130、及(或)儲存單元122、126、136及140之間的通訊可通過各種網路之任意者而發生,該等網路像是一或更多區域網路、廣域網路、網間網路或網際網路。
第2圖圖示了按照一實施例,第1圖中之範例連網電腦系統配置的一範例情境。客戶機器100可由客戶210所控制,而儲存總管106以及儲存單元管理器116及130的邏輯可由管理器220所控制。
管理器220可不同於代管儲存單元122、126、136及140的虛擬資料中心提供者,且管理器220可不同於運用儲存在儲存單元122、126、136及140中之資料的客戶210。按照本說明書中所描述的方法,管理器220可代表客戶210來控制及管理儲存單元122、126、136及140。
儲存總管106可在虛擬機器222內操作,儲存單元管理器116可在一分離虛擬機器224內操作,而儲存單元管理器130可在一分離虛擬機器虛擬機器226內操作。在一實施例中,虛擬機器222、224及226由相同虛擬資料中心提供者代管,該虛擬資料中心提供者代管儲存單元122、126、136 及140中之一或更多者。管理器220可控制虛擬機器222、224及226內之程序的執行,該些程序像是儲存總管106、儲存單元管理器116、以及儲存單元管理器130的邏輯。
在某些實施例中,由客戶210所控制的客戶機器100可由代管虛擬機器222、224及(或)226之任意者的同一虛擬資料中心提供者所代管。然而,在某些實施例中,由客戶210所控制的客戶機器100可在由客戶210所代管的私人資料中心中。在某些實施例中,客戶機器200本身可為虛擬機器。
在某些實施例中,在未請求儲存單元管理器116或130存取儲存單元122、126、136及140下,儲存總管106直接地存取儲存單元122、126、136及140。然而,在某些實施例中,代管儲存單元122、126、136及140的一或更多虛擬資料中心限制可連接至單一虛擬機器的儲存單元數量少於一特定數目。在這樣的一實施例中,如第1圖、第2圖中所圖示之系統可允許儲存總管106將能夠由儲存總管控制之儲存單元的數目最大化。儲存總管106可藉由複數個不同虛擬機器之請求模組(像是虛擬機器224及226處之儲存單元管理器116及130)來管理儲存單元122、126、136及140,以進行各種資料操作或提供必須的效能資訊。此種手法可允許儲存總管106管理之儲存單元的數量大於由單一虛擬機器所被允許存取之儲存單元的最大數量。
在某些實施例中,儲存單元122、126、136及140位在複數個不同虛擬資料中心處。例如,儲存單元122及126可位於一第一虛擬資料中心處,而儲存單元136及140可位 於一不同虛擬資料中心。因此,管理器220可代表客戶210來管理及控制由複數個不同虛擬資料中心所代管的儲存單元。
第3圖圖示一範例方法,該方法用於自動地選擇用於降低利用率的一儲存單元。第3圖之方法可使用位於儲存總管106處的一或更多電腦程式、其他軟體元件,或其他功能性邏輯來實施。
於方塊302處,儲存總管106針對位於一虛擬資料中心處的複數個儲存單元中之各儲存單元決定效能資訊。該決定步驟以及第3圖之程序的其他部分可藉由執行儲存總管邏輯來進行,該儲存管理器邏輯的執行係由不同於該虛擬資料中心提供者的一管理實體所控制。
一特定儲存單元的效能資訊可指示該儲存單元完成資料操作請求的速度。該效能資訊可指示(例如)用於在一特定儲存單元中儲存資訊的總存取時間,或用於從一特定儲存單元中擷取資訊的總存取時間。該效能資訊也可包括更多特定資訊,像是完成讀取請求的速度、完成寫入請求的速度,或甚至更特定地:完成隨機讀取操作的速度,或完成隨機寫入操作的速度。該效能資訊可彙整一組特定儲存單元的效能,或提供各儲存單元的個別效能資訊。該組特定儲存單元可為由儲存總管106所管理的全部儲存單元,或是關聯於客戶210的全部儲存單元,或另經界定。
有關一特定儲存單元的效能資訊可由儲存總管106直接地觀察。例如,儲存總管106可計算從傳送資料操作請 求到儲存單元或儲存單元管理器,到完成該資料操作請求之間所經過的時間量。
在另一實施例中,儲存總管106可藉由從儲存單元管理器收集資訊以決定儲存單元的效能資訊,該儲存單元管理器與該儲存單元通訊。例如,儲存單元管理器116可決定從儲存單元管理器116傳送一資料操作請求的時間,到儲存單元管理器116接收到對該資料操作請求的一回應的時間中間所經過的時間量。儲存單元管理器116可分別地或整合地將效能資訊傳達至儲存總管106。
在另一實施例中,儲存總管106可藉由從一或更多虛擬資料中心收集資訊以決定儲存單元的效能資訊,該一或更多虛擬資料中心代管該儲存單元。
該效能資訊可彙整歷時所觀察之各個資料操作請求的效能特徵。例如,該效能資訊可指示一效能特徵在一特定時段內的最大值、最小值或中間值。例如,儲存總管106可決定在一特定時段期間,儲存單元122以平均每秒20個操作的速度完成資料操作請求。在其他實施例中,該效能資訊可識別出個別資料操作請求的效能。例如,儲存總管106可決定要花超過1秒來完成特定請求。
於方塊304處,儲存總管106根據該經決定之效能資訊來自動地決定效能期望。該效能期望可指示對於一或更多特定效能特徵的效能期望。該效能期望可以該效能特徵的最小或最大值來指示,或者可以一數值範圍來指示。例如,一特定效能期望可指示對於各儲存單元,在任意十分鐘之時 段內,資料操作請求之存取時間中位數必須大於每操作10毫秒。
在某些實施例中,一效能期望可套用至全部內含關聯於一特定客戶之資料的儲存單元。在其他實施例中,效能期望可套用至不同類別的儲存單元。例如,儲存總管106可決定一特定效能期望可套用至成本在一特定範圍內的儲存單元,且儲存總管106可決定一不同效能期望可套用至成本在一不同範圍內的儲存單元。
在其他實施例中,效能期望可被套用至儲存單元類別,該等類別係根據非成本之特徵所決定。該些特徵可包括(但不限於)由該等儲存單元之儲存單元提供者所宣傳的效能品質,或關聯於該等儲存單元之實體硬體的類型。例如,根據被宣傳為「高效能」儲存單元的儲存單元可決定一特定效能期望,而該效能期望可僅套用至被宣傳為「高效能」儲存單元的儲存單元。
在某些實施例中,儲存總管106監測由儲存總管106所管理之各儲存單元的效能,以決定是否該儲存單元的效能符合可套用至該儲存單元的該效能期望。於方塊306,儲存總管106決定可套用至一特定儲存單元的特定效能期望。在針對不同儲存單元類別定義不同效能期望的實施例中,決定可套用至一特定儲存單元的特定效能期望之步驟可包含決定該特定儲存單元的特定特徵,以決定哪些效能期望可套用。例如,一特定儲存單元的成本在一特定成本範圍內,儲存總管106可根據該特定儲存單元的成本在該特定成本範圍內的 一決定,來決定可套用至該儲存單元的一特定效能期望。
於方塊308處,儲存總管106決定該特定儲存單元的效能不符合該效能期望。該效能期望可指示一條件,該條件必須為真以使滿足該效能期望。例如,一特定效能期望可指示一效能中速(median performance speed)以用於完成一資料操作,以及如果該特定儲存單元在一特定時段上執行一資料操作的中速,較之於「該效能中速減一個標準差」還快,則該特定儲存單元的效能符合該效能期望。
於方塊310處,儲存總管106至少部分回應於決定該特定儲存單元之效能不符合該等一或更多效能期望,而致使該特定儲存單元之利用率降低。在某些實施例中,致使該特定儲存單元之利用率降低的步驟包含完全停用該特定儲存單元的利用。儲存總管106可藉由通知該特定儲存單元管理器來致使該降低,該特定儲存單元管理器管理利用率將被降低的該特定儲存單元。儲存總管106可請求或命令該特定儲存單元管理器以從一虛擬資料中心請求一不同儲存單元。儲存在該特定儲存單元上的資料可被轉移到新的儲存單元。
該特定儲存單元之效能不符合該特定效能期望的一決定,可指示該特定儲存單元正比儲存總管106所管理的其他儲存單元表現不佳。在某些實施例中,該決定指示該特定儲存單元比關聯於類似成本之其他儲存單元表現極度不佳。藉由使儲存總管106用一個新儲存單元來替代該特定表現不良(underperforming)儲存單元,管理器220可確保僅表現良好的儲存單元被客戶210所運用。此外,在某些實施例中, 該個新儲存單元可經關聯於類似於該被替代單元的一成本。因此,藉由用一個新的儲存單元來替代該特定儲存單元,客戶210可用相同代價得到更好的效能。
第4圖圖示一範例方法,該方法用於自動地決定因至少一特定目的而不被使用的一特定儲存單元。第4圖的方法可使用一或更多電腦程式、其他軟體元件或其他功能性邏輯,而經實施於儲存總管106。於方塊402處,儲存總管106針對位於一虛擬資料中心處的複數個儲存單元中之各儲存單元決定效能資訊。該決定步驟以及第4圖之程序的其他部分可藉由執行儲存總管邏輯來進行,該儲存管理器邏輯的執行係由不同於該虛擬資料中心的一管理實體所控制。
一特定儲存單元的效能資訊可指示該儲存單元完成資料操作請求的速度。該效能資訊可包括更多特定資訊,像是完成讀取請求的速度、完成寫入請求的速度,或甚至更特定地:完成隨機讀取操作的速度,或完成隨機寫入操作的速度。有關一特定儲存單元的效能資訊可由儲存總管106直接觀察,或者儲存總管106可藉由從與該儲存單元通訊的該儲存單元管理器收集資訊,以決定效能資訊。
於方塊404處,儲存總管106決定一效能型態(performance pattern)已經發生,該效能型態指示一第一儲存單元及一第二儲存單元的實體機房共置。該效能型態的發生可指示該兩個儲存單元係由相同實體機器所代管,或者該兩個儲存單元可能為其他因素而展現類似的效能特徵。在一實施例中,該效能型態為該等複數個儲存單元中之該第一儲 存單元及該第二儲存單元之效能表現類似的一型態。例如,該效能型態可需要該兩個儲存單元在大約相同時間具有類似的資料操作完成率。
在另一實施例中,該效能型態是一儲存單元所具有的效能速率與一第二儲存單元所具有的工作負載容量呈反相關的一型態。例如,該效能型態可需要一型態如下:在一第二儲存單元經歷高工作負載之同時,一第一儲存單元提供低資料操作完成速度;或者是如下的型態:在該第二儲存單元經歷低工作負載之同時該第一儲存單元提供高資料操作完成速度。該效能型態也可需要發生相反的型態。也就是說,該效能型態可需要(例如)如下的型態:在該第一儲存單元經歷低工作負載之同時該第二儲存單元提供高資料操作完成速度。
型態定義可界定一效能型態發生的時點,且該等型態定義可按照不同實施例而異。例如在某些實施例中,如果該第一儲存單元及該第二儲存單元大概在相同時間兩者都接收類似資料操作請求,並且在至少四個不同時機(occasion)上以一類似速度完成該些被請求之資料操作,則儲存總管106可決定已發生一型態,其中該等至少四個不同時機至少彼此相隔24小時。在一實施例中,一型態的發生也可需要在至少三個不同時機上,該兩個儲存單元的資料操作完成速率同時比一組儲存單元之中間回應速率(median response rate)快上兩個標準差以上或是慢上兩個標準差以上。
於方塊406處,回應於決定已經發生一效能型態, 該效能型態指示一第一儲存單元及一第二儲存單元的實體機房共置,則儲存總管106因一特定目的而停用該第一儲存單元或該第二儲存單元中的一所選儲存單元。在某些實施例中,停用該所選儲存單元之步驟包含因一特定目的而停用該所選儲存單元,其中該兩個儲存單元在停用步驟之前都用於相同特定目的。儲存總管106可請求或命令管理該所選儲存單元的儲存單元管理器,去從一虛擬資料中心請求一個新的儲存單元及(或)從被停用之儲存單元轉移資料到新的儲存單元。
例如,在做出該決定之前,一第一儲存單元及一第二儲存單元可都儲存關聯於一特定客戶的資料。回應於決定該兩個儲存單元表現類似的型態已經發生,則儲存總管可停用用於儲存關聯於該特定客戶之資料的該所選儲存單元。
作為另一範例,在做出該決定之前,該第一儲存單元可儲存在該第二儲存單元中所儲存之資料的一複本。該資料可經冗餘儲存,以獲得更大可靠度並增加資料擷取速度。在這樣的實施例中,回應於決定該第一及第二儲存單元表現類似的型態已經發生,儲存總管106可停用用於儲存另一儲存單元中所儲存之資料複本的該所選儲存單元。
對於該第一及第二儲存單元同時故障將特別不利的系統,第4圖的程序是有幫助的。例如,如果該第一儲存單元的目的是為冗餘儲存也儲存在該第二儲存單元中的資料,則兩儲存單元同時故障將尤其有害。兩儲存單元都故障將導致完全無法存取該經冗餘儲存的資料。
該兩個儲存單元表現類似的型態可指示該兩個儲存單元由相同實體機器所代管。在該兩個儲存單元由相同實體機器所代管的一系統中,致使一儲存單元故障的某情況非常可能也致使另一儲存單元故障。因此,回應於決定該兩個儲存單元表現類似的型態已經發生,管理器220可在某些實施例中,藉由停用該第一儲存單元或該第二儲存單元,來降低該第一及第二儲存單元同時故障的機會。
在某些實施例中,在因該特定目的而停用該第二儲存單元之前,該第二儲存單元可能未曾使用於該特定目的。例如,儲存總管106可在製造前對一或更多儲存單元執行一效能測試,並且可在測試階段期間偵測該兩個儲存單元表現類似的型態發生。
3.0實施機制一硬體概觀
第5圖是一個方塊圖,該方塊圖圖示可在其上實現本發明之一實施例的一電腦系統500。電腦系統500包括匯流排502或其他通訊機制以供傳達資訊,且電腦系統500包括一處理器504耦接至匯流排502以供處理資訊。電腦系統500也包括一主記憶體506耦接至匯流排502以供儲存資訊及將由處理器504所執行的指令,主記憶體506例如隨機存取記憶體(RAM)或其他動態儲存裝置。主記憶體506也可在執行由處理器504執行之指令期間用於儲存暫時變數或其他中繼資訊。電腦系統500進一步包括一唯讀記憶體(ROM)508或其他靜態儲存裝置,唯讀記憶體508耦接至匯流排502以供儲存靜態資訊及用於處理器504的指令。儲存裝置510(像 是磁碟或光碟)經提供且耦接至匯流排502,以用於儲存資訊及指令。
電腦系統500可經由匯流排502耦接至一顯示器512(例如陰極射線管(CRT)),以供顯示資訊給電腦使用者。輸入裝置514(包括文數字按鍵及其他按鍵)經耦接至匯流排502以供傳達資訊及指令選擇至處理器504。另一類型的使用者輸入裝置是游標控制516,像是滑鼠、軌跡球或游標方向鍵,乃用於傳達方向資訊及命令選擇給處理器504,以及用於控制顯示器512上的游標移動。此輸入裝置一般具有在一第一軸(例如x軸)及一第二軸(例如y軸)兩軸中的二維自由度,允許該裝置指定在一平面上的位置。
本發明係關於利用電腦系統500以供實施在本說明書中所描述的技術。按照本發明之一實施例,該些技術係回應於處理器504執行包含在主記憶體506中之一或更多序列之一或更多指令,而由電腦系統500所執行。該些指令可從另一機器可讀取媒體讀入主記憶體506,該機器可讀取媒體例如儲存裝置510。包含在主記憶體506中之該些指令序列的執行,致使處理器504執行在此所描述之程序步驟。在替代性實施例中,固線式電路系統可取代或組合以軟體指令而經使用,以實現本發明。因此,本發明之實施例並不限於硬體電路系統及軟體的任何特定組合。
在此所使用之「機器可讀取媒體」一詞意指涉及提供資料的任何媒體,該資料致使一機器以一特定方式操作。在使用電腦系統500所實施的一實施例中牽涉了各種機器可 讀取媒體,例如在提供指令給處理器504以用於執行方面。此種媒體可採用許多形式,包括儲存媒體及傳輸媒體,但不限於此。儲存媒體包括非揮發性媒體及揮發性媒體兩者。非揮發性媒體包括(例如)光碟或磁碟,像是儲存裝置510。揮發性媒體包括動態記憶體,像是主記憶體506。傳輸媒體包括同軸纜線、銅線及光纖,包括包含匯流排502的纜線。傳輸媒體也能夠採用聲波或光波的形式,例如在無線電波及紅外線資料通訊期間所產生者。此種媒體全部必須為有形(tangible),以致使該些媒體所承載的指令由一實體機制所偵測,該實體機制將該些指令讀入至一機器中。
常見的機器可讀取媒體形式包括例如:磁碟片、彈性磁碟(flexible disk)、硬碟機、磁帶或任何其他磁性媒體;光碟機(CD-ROM)或任何其他光學媒體;打洞卡(punchcards)、紙帶、及任何其他具有規則打孔的實體媒體;隨機存取記憶體(RAM)、可程式化唯讀記憶體(PROM)、可抹除可程式化唯讀記憶體(EPROM)、快閃可抹除可程式化唯讀記憶體(FLASH-EPROM),及任何其他記憶體晶片或卡匣;如本說明書以下所述之載波,或電腦能夠自其讀取的任何其他媒體。
在承載一或更多個序列的一或更多指令至處理器504以供執行方面,可涉及各種形式之機器可讀取媒體。例如,一開始該等指令可被承載在一遠端電腦的一磁碟上。該遠端電腦能將該等指令載入至其動態記憶體中,並利用一數據機在一電話線上傳送該等指令。於電腦系統500近端的數 據機能夠在該電話線上接收資料,並使用一紅外線發射器將該資料轉換成一紅外線信號。一紅外線偵測器能夠接收在紅外線信號中所承載的資料,而適當的電路系統能夠將資料置放在匯流排502上。匯流排502承載該資料至主記憶體506,處理器504從主記憶體506擷取並執行該等指令。由主記憶體506所接收的指令可在由處理器504執行之前或之後,選擇性地被儲存在儲存裝置510上。
電腦系統500也包括一通訊介面518,該通訊介面耦接至匯流排502。通訊介面518提供到網路連結520的一雙向資料通訊耦接,該網路連結520連接至一區域網路522。例如,通訊介面518可為一整合式服務數位網路(ISDN)卡或數據機,以提供到一對應類型之電話線的資料通訊連線。作為另一範例,通訊介面518可為一區域網路(LAN)卡,以提供到一相容LAN的資料通訊連線。也可實施無線連結。在此種實施例中,通訊介面518發送並接收承載數位資料串流之電氣、電磁或光學信號,該數位資料串流代表各種類型之資訊。
網路連結520一般通過一或更多網路來提供至其他資料裝置的資料通訊。例如,網路連結520可提供通過區域網路522至一主機電腦524的一連線,或提供一連線至由網際網路服務提供者(ISP)526所操作的一資料設備。ISP 526接著透過全球封包資料通訊網路,也就是現在通稱為「網際網路」(528)者,來提供資料通訊服務。區域網路522及網際網路528兩者都使用承載數位資料串流之電氣、電磁或光 學信號。通過各種網路的信號,以及在網路連結520上並通過通訊介面518的信號,承載了來自電腦系統500的數位資料以及給電腦系統500的數位資料,該些信號為運輸該資訊之載波的例示性形式。
電腦系統500能透過網路、網路連結520及通訊介面518來傳送訊息及接收資料,包括程式碼。在網際網路的例子中,伺服器530可透過網際網路528、ISP 526、區域網路522及通訊介面518傳輸被請求之應用程式碼。
所接收之程式碼可在被接收後由處理器504執行,及(或)儲存在儲存裝置510或其他非揮發性儲存中以供稍後之執行。在此種做法中,電腦系統500可獲得載波形式的應用程式碼。
4.0延伸及替代方案
在以上之說明書內容中,已參照因實施情況而異之數個特定細節來說明本發明之實施例。因此,對於本發明為何,以及申請人所欲之發明為何,其唯一且單獨之表示乃是本申請案所公告時之申請專利範圍,並以該些申請專利範圍被公告之特定形式為準,包括任何後續之更正。在本說明書中對於在請求項中所包含之任何用語而敘述的定義,將決定該些用語在申請專利範圍中的意義。因此,未在申請專利範圍中述及的界定、元件、性質、特性、優點或屬性,不應以任何方式限制申請專利範圍之範疇。據此,本案之說明書及圖式應被認定為示意性而非為限制。

Claims (15)

  1. 一種方法,該方法包含下列步驟:針對位於複數個虛擬資料中心處的複數個儲存單元決定效能資訊,其中該決定步驟係藉由執行儲存總管邏輯所進行,該儲存總管邏輯的執行係由一管理實體所控制,該管理實體不同於該等複數個虛擬資料中心之一或更多提供者;根據該經決定之效能資訊,自動地決定效能期望;決定可套用至一特定儲存單元的特定效能期望;決定該特定儲存單元之當前效能不符合該等特定效能期望;至少部分回應於決定該特定儲存單元之該當前效能不符合該等特定效能期望之步驟,藉由指示一虛擬機器將儲存在該特定儲存單元之資料轉移至該等複數個儲存單元中之另一儲存單元,來致使該特定儲存單元之利用率降低;其中該特定儲存單元位於該等複數個虛擬資料中心中之一第一虛擬資料中心處,以及該等複數個儲存單元中之該另一儲存單元是位於該等複數個虛擬資料中心中之一第二不同虛擬資料中心處;其中該方法係由一或更多計算裝置所進行。
  2. 如請求項1所述之方法,其中該等特定效能期望指示存取或儲存資料的一特定最小速度,且決定該特定儲存單元之效能不符合該等特定效能期望之步驟包含下列步驟:決定對該特定儲存單元存取或儲存資料的一速度經常地慢於該特定最小速度。
  3. 如請求項1所述之方法,其中該等特定效能期望可套用至一特定儲存單元類別,其中該特定儲存單元類別經定義為所關聯之一使用成本在一特定成本範圍內的儲存單元。
  4. 如請求項1所述之方法,該方法包含下列步驟:根據所觀察效能資訊來決定該等特定效能期望,該所觀察效能資訊為接收自兩個或更多個虛擬機器內之複數個模組,其中該兩個或更多個虛擬機器中之各虛擬機器能夠直接與該等複數個儲存單元中之至少一儲存單元通訊。
  5. 如請求項1所述之方法,其中致使該特定儲存單元之利用率降低之步驟包含下列步驟:命令一虛擬機器傳輸儲存在該特定儲存單元上的資料到一不同儲存單元。
  6. 如請求項1所述之方法,該方法包含下列步驟:將讀寫資料之請求導向至一或更多不同目標儲存單元而不是該特定儲存單元。
  7. 一種方法,該方法包含下列步驟:針對位於一虛擬資料中心處的複數個儲存單元中之各儲存單元決定效能資訊,其中該決定步驟係藉由執行儲存總管邏輯所進行,該儲存總管邏輯的執行係由不同於該虛擬資料中心提供者的一管理實體所控制;根據該經決定之效能資訊來決定一效能型態已經發生,該效能型態指示一第一儲存單元及一第二儲存單元的一實體機房共置(physical co-location);其中該效能型態是基於該第一儲存單元及該第二儲存單元按照於該第一儲存單元及該第二儲存單元處之資料操作的效能特徵而類似地執行,該些效能特徵被包括在該效能資訊中;回應於決定該效能型態已經發生,因至少一特定目的而停用該第一儲存單元或該第二儲存單元的一所選儲存單元;其中該方法係由一或更多裝置所進行。
  8. 如請求項7所述之方法,該方法包含下列步驟:藉由決定在複數個不同時機上該第一儲存單元及該第二儲存單元的回應速率足夠類似,來決定指示該第一儲存單元及該第二儲存單元之該實體機房共置的該效能型態已經發生。
  9. 如請求項7所述之方法,該方法包含下列步驟:藉由決定一型態已經發生來決定指示該第一儲存單元及該第二儲存單元的該實體機房共置的該效能型態已經發生,該型態係該第一儲存單元所具有的效能速率與該第二儲存單元所具有的一工作負載容量呈反相關。
  10. 如請求項7所述之方法,該方法包含下列步驟:根據從複數個虛擬機器所接收之經觀察效能資訊來決定該效能資訊,其中該等複數個虛擬機器之各虛擬機器與該等複數個儲存單元中之至少一儲存單元直接通訊。
  11. 如請求項7所述之方法,該方法包含下列步驟:於一儲存單元管理電腦處進行決定該效能型態已經發生以及停用該第一儲存單元或該第二儲存單元的一所選儲存單元;該方法進一步包含下列步驟:於該儲存單元管理電腦處接收來自一客戶系統的全部請求然後把該等請求轉送至該等複數個儲存單元中之一儲存單元,該等請求係從該等複數個儲存單元讀取資訊或寫入資訊至該等複數個儲存單元。
  12. 如請求項7所述之方法,其中該特定目的是儲存用於一特定客戶的資料。
  13. 如請求項7所述之方法,其中該特定目的是儲存在該第一儲存單元及該第二儲存單元中之一非所選儲存單元中的資料的一複本。
  14. 一種非暫態電腦可讀取儲存媒體,該非暫態電腦可讀取儲存媒體包含一或更多指令序列,當該一或更多指令序列由一或更多處理器執行時致使該一或更多處理器執行如請求項1至6中任一項所述之方法。
  15. 一種非暫態電腦可讀取儲存媒體,該非暫態電腦可讀取儲存媒體包含一或更多指令序列,當該一或更多指令序列由一或更多處理器執行時致使該一或更多處理器執行如請求項7至13中任一項所述之方法。
TW103109684A 2013-03-15 2014-03-14 用於虛擬化儲存單元的儲存單元選擇 TWI628587B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/837,375 US9335932B2 (en) 2013-03-15 2013-03-15 Storage unit selection for virtualized storage units
US13/837,375 2013-03-15

Publications (2)

Publication Number Publication Date
TW201447745A TW201447745A (zh) 2014-12-16
TWI628587B true TWI628587B (zh) 2018-07-01

Family

ID=50487139

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103109684A TWI628587B (zh) 2013-03-15 2014-03-14 用於虛擬化儲存單元的儲存單元選擇

Country Status (4)

Country Link
US (1) US9335932B2 (zh)
EP (1) EP2972746B1 (zh)
TW (1) TWI628587B (zh)
WO (1) WO2014150621A1 (zh)

Families Citing this family (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589655B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of I/O in an SSD environment
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction
US8732426B2 (en) 2010-09-15 2014-05-20 Pure Storage, Inc. Scheduling of reactive I/O operations in a storage environment
US8589625B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of reconstructive I/O read operations in a storage environment
US8468318B2 (en) 2010-09-15 2013-06-18 Pure Storage Inc. Scheduling of I/O writes in a storage environment
US11275509B1 (en) 2010-09-15 2022-03-15 Pure Storage, Inc. Intelligently sizing high latency I/O requests in a storage environment
US9244769B2 (en) 2010-09-28 2016-01-26 Pure Storage, Inc. Offset protection data in a RAID array
US8775868B2 (en) 2010-09-28 2014-07-08 Pure Storage, Inc. Adaptive RAID for an SSD environment
US11636031B2 (en) 2011-08-11 2023-04-25 Pure Storage, Inc. Optimized inline deduplication
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US8719540B1 (en) 2012-03-15 2014-05-06 Pure Storage, Inc. Fractal layout of data blocks across multiple devices
US10623386B1 (en) 2012-09-26 2020-04-14 Pure Storage, Inc. Secret sharing data protection in a storage system
US11032259B1 (en) 2012-09-26 2021-06-08 Pure Storage, Inc. Data protection in a storage system
US8745415B2 (en) 2012-09-26 2014-06-03 Pure Storage, Inc. Multi-drive cooperation to generate an encryption key
US9646039B2 (en) 2013-01-10 2017-05-09 Pure Storage, Inc. Snapshots in a storage system
US10908835B1 (en) 2013-01-10 2021-02-02 Pure Storage, Inc. Reversing deletion of a virtual machine
US11768623B2 (en) 2013-01-10 2023-09-26 Pure Storage, Inc. Optimizing generalized transfers between storage systems
US11733908B2 (en) 2013-01-10 2023-08-22 Pure Storage, Inc. Delaying deletion of a dataset
WO2014151126A1 (en) 2013-03-15 2014-09-25 Bracket Computing, Inc. Multi-layered storage administration for flexible placement of data
US9292331B2 (en) * 2013-03-15 2016-03-22 Bracket Computing, Inc. Expansion of services for a virtual data center guest
US10365858B2 (en) 2013-11-06 2019-07-30 Pure Storage, Inc. Thin provisioning in a storage device
US10263770B2 (en) 2013-11-06 2019-04-16 Pure Storage, Inc. Data protection in a storage system using external secrets
US11128448B1 (en) 2013-11-06 2021-09-21 Pure Storage, Inc. Quorum-aware secret sharing
US9516016B2 (en) 2013-11-11 2016-12-06 Pure Storage, Inc. Storage array password management
US9208086B1 (en) 2014-01-09 2015-12-08 Pure Storage, Inc. Using frequency domain to prioritize storage of metadata in a cache
US10656864B2 (en) 2014-03-20 2020-05-19 Pure Storage, Inc. Data replication within a flash storage array
US9513820B1 (en) 2014-04-07 2016-12-06 Pure Storage, Inc. Dynamically controlling temporary compromise on data redundancy
US9779268B1 (en) 2014-06-03 2017-10-03 Pure Storage, Inc. Utilizing a non-repeating identifier to encrypt data
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US10496556B1 (en) 2014-06-25 2019-12-03 Pure Storage, Inc. Dynamic data protection within a flash storage system
US9218407B1 (en) 2014-06-25 2015-12-22 Pure Storage, Inc. Replication and intermediate read-write state for mediums
US10296469B1 (en) 2014-07-24 2019-05-21 Pure Storage, Inc. Access control in a flash storage system
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9864761B1 (en) 2014-08-08 2018-01-09 Pure Storage, Inc. Read optimization operations in a storage system
US10430079B2 (en) 2014-09-08 2019-10-01 Pure Storage, Inc. Adjusting storage capacity in a computing system
US10164841B2 (en) 2014-10-02 2018-12-25 Pure Storage, Inc. Cloud assist for storage systems
US9489132B2 (en) 2014-10-07 2016-11-08 Pure Storage, Inc. Utilizing unmapped and unknown states in a replicated storage system
US10430282B2 (en) 2014-10-07 2019-10-01 Pure Storage, Inc. Optimizing replication by distinguishing user and system write activity
US9727485B1 (en) 2014-11-24 2017-08-08 Pure Storage, Inc. Metadata rewrite and flatten optimization
US9773007B1 (en) 2014-12-01 2017-09-26 Pure Storage, Inc. Performance improvements in a storage system
US9588842B1 (en) 2014-12-11 2017-03-07 Pure Storage, Inc. Drive rebuild
US9552248B2 (en) 2014-12-11 2017-01-24 Pure Storage, Inc. Cloud alert to replica
US9864769B2 (en) 2014-12-12 2018-01-09 Pure Storage, Inc. Storing data utilizing repeating pattern detection
US10545987B2 (en) 2014-12-19 2020-01-28 Pure Storage, Inc. Replication to the cloud
US9569357B1 (en) 2015-01-08 2017-02-14 Pure Storage, Inc. Managing compressed data in a storage system
US11947968B2 (en) 2015-01-21 2024-04-02 Pure Storage, Inc. Efficient use of zone in a storage device
US10296354B1 (en) 2015-01-21 2019-05-21 Pure Storage, Inc. Optimized boot operations within a flash storage array
US9710165B1 (en) 2015-02-18 2017-07-18 Pure Storage, Inc. Identifying volume candidates for space reclamation
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US9934475B2 (en) 2015-05-13 2018-04-03 Bank Of America Corporation Managing enterprise data movement using a heuristic data movement detection engine
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US9547441B1 (en) 2015-06-23 2017-01-17 Pure Storage, Inc. Exposing a geometry of a storage device
US10310740B2 (en) 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US11269884B2 (en) 2015-09-04 2022-03-08 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
KR20170028825A (ko) 2015-09-04 2017-03-14 퓨어 스토리지, 아이앤씨. 압축된 인덱스들을 사용한 해시 테이블들에서의 메모리 효율적인 스토리지 및 탐색
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10452297B1 (en) 2016-05-02 2019-10-22 Pure Storage, Inc. Generating and optimizing summary index levels in a deduplication storage system
US10133503B1 (en) 2016-05-02 2018-11-20 Pure Storage, Inc. Selecting a deduplication process based on a difference between performance metrics
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US10191662B2 (en) 2016-10-04 2019-01-29 Pure Storage, Inc. Dynamic allocation of segments in a flash storage system
US10162523B2 (en) 2016-10-04 2018-12-25 Pure Storage, Inc. Migrating data between volumes using virtual copy operation
US10545861B2 (en) 2016-10-04 2020-01-28 Pure Storage, Inc. Distributed integrated high-speed solid-state non-volatile random-access memory
US10481798B2 (en) 2016-10-28 2019-11-19 Pure Storage, Inc. Efficient flash management for multiple controllers
US10185505B1 (en) 2016-10-28 2019-01-22 Pure Storage, Inc. Reading a portion of data to replicate a volume based on sequence numbers
US10359942B2 (en) 2016-10-31 2019-07-23 Pure Storage, Inc. Deduplication aware scalable content placement
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US10452290B2 (en) 2016-12-19 2019-10-22 Pure Storage, Inc. Block consolidation in a direct-mapped flash storage system
US11093146B2 (en) 2017-01-12 2021-08-17 Pure Storage, Inc. Automatic load rebalancing of a write group
US10191762B2 (en) 2017-01-31 2019-01-29 Vmware, Inc. Transparent deployment of intermediary manager into guest operating system network traffic
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US12045487B2 (en) 2017-04-21 2024-07-23 Pure Storage, Inc. Preserving data deduplication in a multi-tenant storage system
US11403019B2 (en) 2017-04-21 2022-08-02 Pure Storage, Inc. Deduplication-aware per-tenant encryption
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10356128B1 (en) 2017-07-27 2019-07-16 Vmware, Inc. Tag-based policy architecture
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US10652281B1 (en) 2017-08-31 2020-05-12 Vmware, Inc. Network policy implementation in a tag-based policy architecture
US10776202B1 (en) 2017-09-22 2020-09-15 Pure Storage, Inc. Drive, blade, or data shard decommission via RAID geometry shrinkage
US10789211B1 (en) 2017-10-04 2020-09-29 Pure Storage, Inc. Feature-based deduplication
US10509914B1 (en) 2017-10-27 2019-12-17 Vmware, Inc. Data policy implementation in a tag-based policy architecture
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US11144638B1 (en) 2018-01-18 2021-10-12 Pure Storage, Inc. Method for storage system detection and alerting on potential malicious action
US10970395B1 (en) 2018-01-18 2021-04-06 Pure Storage, Inc Security threat monitoring for a storage system
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
US11934322B1 (en) 2018-04-05 2024-03-19 Pure Storage, Inc. Multiple encryption keys on storage drives
US11995336B2 (en) 2018-04-25 2024-05-28 Pure Storage, Inc. Bucket views
US10678433B1 (en) 2018-04-27 2020-06-09 Pure Storage, Inc. Resource-preserving system upgrade
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US10678436B1 (en) 2018-05-29 2020-06-09 Pure Storage, Inc. Using a PID controller to opportunistically compress more data during garbage collection
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US10776046B1 (en) 2018-06-08 2020-09-15 Pure Storage, Inc. Optimized non-uniform memory access
US11281577B1 (en) 2018-06-19 2022-03-22 Pure Storage, Inc. Garbage collection tuning for low drive wear
US11869586B2 (en) 2018-07-11 2024-01-09 Pure Storage, Inc. Increased data protection by recovering data from partially-failed solid-state devices
US11133076B2 (en) 2018-09-06 2021-09-28 Pure Storage, Inc. Efficient relocation of data between storage devices of a storage system
US11194759B2 (en) 2018-09-06 2021-12-07 Pure Storage, Inc. Optimizing local data relocation operations of a storage device of a storage system
US10846216B2 (en) 2018-10-25 2020-11-24 Pure Storage, Inc. Scalable garbage collection
US11113409B2 (en) 2018-10-26 2021-09-07 Pure Storage, Inc. Efficient rekey in a transparent decrypting storage array
US11194473B1 (en) 2019-01-23 2021-12-07 Pure Storage, Inc. Programming frequently read data to low latency portions of a solid-state storage array
US11588633B1 (en) 2019-03-15 2023-02-21 Pure Storage, Inc. Decommissioning keys in a decryption storage system
US10732884B1 (en) 2019-03-28 2020-08-04 International Business Machines Corporation Implementing redundant array of independent disks (RAID) arrays having compressed data stored therein
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US11397674B1 (en) 2019-04-03 2022-07-26 Pure Storage, Inc. Optimizing garbage collection across heterogeneous flash devices
US10990480B1 (en) 2019-04-05 2021-04-27 Pure Storage, Inc. Performance of RAID rebuild operations by a storage group controller of a storage system
US12087382B2 (en) 2019-04-11 2024-09-10 Pure Storage, Inc. Adaptive threshold for bad flash memory blocks
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11487665B2 (en) 2019-06-05 2022-11-01 Pure Storage, Inc. Tiered caching of data in a storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US10929046B2 (en) 2019-07-09 2021-02-23 Pure Storage, Inc. Identifying and relocating hot data to a cache determined with read velocity based on a threshold stored at a storage device
US11422751B2 (en) 2019-07-18 2022-08-23 Pure Storage, Inc. Creating a virtual storage system
US11086713B1 (en) 2019-07-23 2021-08-10 Pure Storage, Inc. Optimized end-to-end integrity storage system
US11963321B2 (en) 2019-09-11 2024-04-16 Pure Storage, Inc. Low profile latching mechanism
US11403043B2 (en) 2019-10-15 2022-08-02 Pure Storage, Inc. Efficient data compression by grouping similar data within a data segment
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US12079333B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Independent security threat detection and remediation by storage systems in a synchronous replication arrangement
US12050689B2 (en) 2019-11-22 2024-07-30 Pure Storage, Inc. Host anomaly-based generation of snapshots
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US12079356B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Measurement interval anomaly detection-based generation of snapshots
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US12067118B2 (en) 2019-11-22 2024-08-20 Pure Storage, Inc. Detection of writing to a non-header portion of a file as an indicator of a possible ransomware attack against a storage system
US12050683B2 (en) * 2019-11-22 2024-07-30 Pure Storage, Inc. Selective control of a data synchronization setting of a storage system based on a possible ransomware attack against the storage system
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US12079502B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Storage element attribute-based determination of a data protection policy for use within a storage system
US20240037259A1 (en) * 2022-07-28 2024-02-01 Pure Storage, Inc. Volume Dependencies in a Storage System

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231522A (zh) * 2007-01-25 2008-07-30 国际商业机器公司 传感响应方法和系统
US20090228669A1 (en) * 2008-03-10 2009-09-10 Microsoft Corporation Storage Device Optimization Using File Characteristics
TW201022927A (en) * 2008-12-01 2010-06-16 Ibm Optimization of data distribution and power consumption in a data center
CN102395955A (zh) * 2009-02-13 2012-03-28 美国能量变换公司 数据中心控制
TW201308073A (zh) * 2011-07-07 2013-02-16 Vce Co Llc 自動監控與及時資源提供系統
US20130047153A1 (en) * 2011-08-19 2013-02-21 Hitachi, Ltd. Method and apparatus to improve efficiency in the use of resources in data center

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980081499A (ko) * 1997-04-17 1998-11-25 모리시다요이치 메모리 내장 데이터 처리장치 및 처리시스템
US20030023958A1 (en) * 2001-07-17 2003-01-30 Patel Mukesh K. Intermediate language accelerator chip
US7603440B1 (en) * 2001-11-09 2009-10-13 Persystent Technology Corporation System and method for management of end user computing devices
TWI273397B (en) * 2004-07-01 2007-02-11 Winity Technology Inc Virtual memory device including a bridge circuit
US8589574B1 (en) * 2005-12-29 2013-11-19 Amazon Technologies, Inc. Dynamic application instance discovery and state management within a distributed system
US20100333116A1 (en) 2009-06-30 2010-12-30 Anand Prahlad Cloud gateway system for managing data storage to cloud storage sites
US8443153B1 (en) 2010-01-06 2013-05-14 Netapp, Inc. Dynamic balancing of performance with block sharing in a storage system
WO2011159842A2 (en) * 2010-06-15 2011-12-22 Nimbula, Inc. Virtual computing infrastructure
US8255634B2 (en) * 2010-08-11 2012-08-28 Lsi Corporation Apparatus and methods for look-ahead virtual volume meta-data processing in a storage controller
US8775773B2 (en) * 2011-08-26 2014-07-08 Vmware, Inc. Object storage system
US8447851B1 (en) * 2011-11-10 2013-05-21 CopperEgg Corporation System for monitoring elastic cloud-based computing systems as a service
US9104328B2 (en) * 2012-10-31 2015-08-11 Hitachi, Ltd. Storage apparatus and method for controlling storage apparatus
WO2014151126A1 (en) 2013-03-15 2014-09-25 Bracket Computing, Inc. Multi-layered storage administration for flexible placement of data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231522A (zh) * 2007-01-25 2008-07-30 国际商业机器公司 传感响应方法和系统
US20090228669A1 (en) * 2008-03-10 2009-09-10 Microsoft Corporation Storage Device Optimization Using File Characteristics
TW201022927A (en) * 2008-12-01 2010-06-16 Ibm Optimization of data distribution and power consumption in a data center
CN102395955A (zh) * 2009-02-13 2012-03-28 美国能量变换公司 数据中心控制
TW201308073A (zh) * 2011-07-07 2013-02-16 Vce Co Llc 自動監控與及時資源提供系統
US20130047153A1 (en) * 2011-08-19 2013-02-21 Hitachi, Ltd. Method and apparatus to improve efficiency in the use of resources in data center

Also Published As

Publication number Publication date
WO2014150621A1 (en) 2014-09-25
US9335932B2 (en) 2016-05-10
EP2972746B1 (en) 2018-12-05
EP2972746A1 (en) 2016-01-20
US20140281308A1 (en) 2014-09-18
TW201447745A (zh) 2014-12-16

Similar Documents

Publication Publication Date Title
TWI628587B (zh) 用於虛擬化儲存單元的儲存單元選擇
US11736560B2 (en) Distributed network services
US9578064B2 (en) Automatic tuning of virtual data center resource utilization policies
CN107924359B (zh) 计算系统中的故障情况的管理
US10725684B2 (en) Method and apparatus for cost-based load balancing for port selection
US20160224277A1 (en) Monitoring storage cluster elements
JP2013257893A (ja) 分散型サーバーシステムにおいてバックアップマネージャを転送するメッセージ
US9998528B2 (en) Direct access storage device analyzer
US11231950B2 (en) Avoiding errors while directly communicatively coupling a virtual machine to a host system
US9836322B1 (en) Methods and apparatus for virtualizing switch control plane engine
US20120250697A1 (en) Inter-cluster communications technique for event and health status communications
CN109726151A (zh) 用于管理输入输出栈的方法、设备和计算机程序产品
US20130315492A1 (en) Predicting and generating a quantity of image clones
US10692168B1 (en) Availability modes for virtualized graphics processing
US20120102290A1 (en) Storage Scalability Management
CN108205479A (zh) 一种故障信息处理的方法、装置及存储介质
US9898357B1 (en) Root cause detection and monitoring for storage systems
CN109417561A (zh) 分布式资源管理方法和系统
US11303582B1 (en) Multi-layer network for metric aggregation
CN103631532A (zh) 用于在数据存储系统中访问数据的方法和设备
US20240283731A1 (en) Path management techniques for network connections

Legal Events

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