TWI699654B - 租戶感知儲存共享平台、其方法與其製品 - Google Patents

租戶感知儲存共享平台、其方法與其製品 Download PDF

Info

Publication number
TWI699654B
TWI699654B TW106110050A TW106110050A TWI699654B TW I699654 B TWI699654 B TW I699654B TW 106110050 A TW106110050 A TW 106110050A TW 106110050 A TW106110050 A TW 106110050A TW I699654 B TWI699654 B TW I699654B
Authority
TW
Taiwan
Prior art keywords
storage
application
storage elements
subset
tenant
Prior art date
Application number
TW106110050A
Other languages
English (en)
Other versions
TW201741889A (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 南韓商三星電子股份有限公司
Publication of TW201741889A publication Critical patent/TW201741889A/zh
Application granted granted Critical
Publication of TWI699654B publication Critical patent/TWI699654B/zh

Links

Images

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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • 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
    • 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/0631Configuration or reconfiguration of storage systems by allocating resources to 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
    • 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/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/0688Non-volatile semiconductor memory arrays
    • 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/0689Disk arrays, e.g. RAID, JBOD
    • 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

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)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

闡述一種租戶感知儲存共享引擎(TASTE)。所述租戶 感知儲存共享引擎可包括儲存器,所述儲存器用於儲存關於資料中心處的一組可用儲存元件的資訊。接收邏輯505可自租戶接收儲存元件要求。選擇邏輯可接著選擇滿足所述租戶的所述儲存元件要求415的所述可用儲存元件的子集。

Description

租戶感知儲存共享平台、其方法與其製品 [相關申請案資料]
本申請案主張於2016年5月24日提出申請、序列號為62/341,063的美國臨時專利申請案的權利,所述美國臨時專利申請案出於全部目的併入本案供參考。
本申請案是有關於於2016年7月28日提出申請、序列號為15/222,938的美國專利申請案,所述美國專利申請案主張於2016年5月24日提出申請、序列號為62/341,057的美國臨時專利申請案的權利,所述美國專利申請案及所述美國臨時專利申請案二者均出於全部目的併入本案供參考。
本申請案是有關於於2016年8月1日提出申請、序列號為15/225,811的美國專利申請案,所述美國專利申請案主張於2016年5月24日提出申請、序列號為62/341,059的美國臨時專利申請案的權利,所述美國專利申請案及所述美國臨時專利申請案二者均出於全部目的併入本案供參考。
本申請案是有關於於2016年6月20日提出申請、序列號為62/352,509的美國臨時專利申請案,所述美國臨時專利申請案出於全部目的併入本案供參考。
本發明概念大體而言是有關於固態驅動機(Solid State Drive,SSD),且更具體而言是有關於因應於應用要求對資料中心中的固態驅動機進行管理。
儲存元件(尤其是固態驅動機(SSD))表現出隨時間持續改變的特性。固態驅動機可能因所述固態驅動機內的基本軟體(即,韌體)及/或硬體而具有不可預測的潛時(latency)及/或頻寬(bandwidth)。因損耗均衡(wear leveling)而延長的存取潛時(讀取/程式化/抹除)亦可能影響潛時及/或頻寬。虛擬抽象化(virtual abstraction),即例如多形態固態驅動機(polymorphic SSD)、開放通道固態驅動機(open-channel SSD)、及輕型非揮發性記憶體(light NVM)(支援開放通道固態驅動機的子系統)等不同方式,使得難以預測固態驅動機的效能特性。最終,例如單位準單元(Single Level Cell,SLC)、多位準單元(Multi-Level Cell,MLC)、三位準單元(Three Level Cell,TLC)、及四位準單元(Quadruple Level Cell,QLC)等不同的單元密度會導致特性大不相同。
資料中心需要對應用及儲存元件進行映射的機制。儲存元件具有可隨時間改變的諸多特性且因此應被監控。另一方面,應用亦可具有不同要求,例如冗餘(redundancy)度、平行性(parallelism)、持久性(persistency)、保全性(security)、快閃 轉譯層(Flash Translation Layer,FTL)參數(群集大小(cluster size)、頁面大小(page size)等)等等。但傳統儲存管理所使用的體積管理(volume management)方式或獨立磁碟冗餘陣列(Redundant Array of Independent Disk,RAID)類方式無法感知較新的儲存元件(例如,固態驅動機)的效能特性或應用(例如,分佈式檔案系統(Hadoop Distributed File System,HDFS)或鍵值儲存(key-value storage))的要求。
尚需一種因應於應用的要求選擇儲存元件來儲存所述應用的資料的方式。
本發明概念的實施例包括一種租戶感知儲存共享引擎(Tenant-Aware Storage-Sharing Engine,TASTE),所述租戶感知儲存共享引擎包括:儲存器,用於儲存關於一組可用儲存元件的資訊;接收邏輯,自應用接收儲存元件要求;以及選擇邏輯,選擇滿足所述儲存元件要求的所述一組可用儲存元件的子集。
本發明概念的實施例包括一種方法,所述方法包括:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求;辨識一組可用儲存元件;以及選擇所述一組可用儲存元件的子集以滿足來自所述應用的所述一組儲存元件要求。
本發明概念的實施例包括一種包括有形儲存媒體的製品,所述有形儲存媒體上儲存有非暫時性指令,所述非暫時性指 令在由機器執行時使得:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求;辨識一組可用儲存元件;以及選擇所述一組可用儲存元件的子集以滿足來自所述應用的所述一組儲存元件要求。
105:資料中心
110:主機/機器
115、120、125、130:主機
135:網路
140:客戶機
145:應用/租戶
205:處理器
210:記憶體
215、315:網路連接件
220:儲存元件
225:租戶感知儲存共享引擎
230:租戶
305:記憶體控制器
310:時鐘
320:匯流排
325:使用者介面
330:輸入/輸出引擎
405:儲存資源資訊
410:儲存元件陣列
415:要求/儲存元件要求/租戶要求/應用儲存要求
420:頻寬
425:潛時
430:群集大小
435、945、950、955、960:頁面大小
440:冗餘/複製因數
445:平行性
450:持久性要求/持久性
455:保全性/隔離要求
460:遷移
505:接收邏輯
510:儲存器
515:選擇邏輯
520:虛擬儲存元件邏輯
525:轉譯層邏輯
605:群集選擇邏輯
610:配置邏輯
615:複製邏輯
620:持久性邏輯
625:隔離邏輯
630:遷移邏輯
705:儲存元件/高效能儲存元件
710:儲存元件/低效能儲存元件
715、720、725、730、735:節點
805、905、910、915、925、930、935:虛擬儲存元件
810:快閃轉譯層
920、940:群集
1005、1105:操作
1205、1210、1215、1220、1225、1303、1306、1309、1312、1315、1318、1321、1324、1327、1330、1333、1336、1339、1342、1345、1348、1351、1354、1357、1360、1363:方塊
圖1示出具有與客戶機(client machine)進行通訊的各種主機的資料中心。
圖2示出根據本發明概念實施例的圖1所示主機的細節。
圖3示出圖1所示主機的其他細節。
圖4示出圖2所示接收應用要求並調整儲存陣列作為結果的租戶感知儲存共享引擎(TASTE)。
圖5示出圖2所示租戶感知儲存共享引擎的細節。
圖6示出圖5所示選擇邏輯的細節。
圖7示出圖4所示儲存元件陣列的實例。
圖8示出建立於圖7所示儲存元件陣列內的虛擬儲存元件。
圖9示出被分配用以滿足圖7所示儲存元件陣列中的各種應用的要求的各種群集及儲存元件頁面大小。
圖10示出圖7所示儲存元件陣列中各儲存元件之間的複製。
圖11示出圖7所示儲存元件陣列中各儲存元件之間的資料遷移(migration of data)。
圖12示出根據本發明概念實施例的圖2所示租戶感知儲存共 享引擎接收應用的儲存要求並相應地調整圖4所示儲存元件陣列的示例性過程的流程圖。
圖13A至圖13C示出根據本發明概念實施例的圖2所示租戶感知儲存共享引擎因應於所接收應用的要求對圖4所示儲存元件陣列進行配置的示例性過程的流程圖。
現在將詳細參照本發明概念的實施例,所述實施例的實例示出於附圖中。在以下詳細說明中,闡述諸多具體細節以使得能夠透徹地理解本發明概念。然而,應理解,此項技術中具有通常知識者無需該些具體細節即可實踐本發明概念。在其他情形中,未對眾所習知的方法、程序、部件、電路、及網路予以詳細闡述,以避免使實施例的態樣不必要地模糊不清。
應理解,儘管本文中可能使用「第一」、「第二」等用語來闡述各種組件,然而該些組件不應受該些用語限制。該些用語僅用於區分各個組件。舉例而言,在不背離本發明概念的範圍的條件下,可將第一模組稱為第二模組,且類似地,可將第二模組稱為第一模組。
本文中在對本發明概念的說明中所使用的術語僅用於闡述具體實施例,而並非旨在限制本發明概念。除非上下文中清楚地另外指明,否則在對本發明概念的說明及隨附申請專利範圍中所使用的單數形式「一(a/an)」及「所述(the)」旨在亦包含複數形式。亦應理解,本文所用用語「及/或(and/or)」指代且囊括 相關聯所列項其中一或多個項的任意及所有可能組合。更應理解,當在本說明書中使用用語「包括(comprises及/或comprising)」時,是指明所陳述特徵、整數、步驟、操作、組件、及/或部件的存在,但不排除一或多個其他特徵、整數、步驟、操作、組件、部件、及/或其群組的存在或添加。圖式中的部件及特徵未必按比例繪製。
大型資料中心儲存基礎建設系統(1arge-scale data center storage infrastructure system)可受益於預測任意一對儲存器之間(或主機與儲存元件之間)的或任意一組/群集的儲存元件之間的潛時及頻寬的能力。各儲存元件之間的最大潛時或最小頻寬對於選擇或建立一或多個虛擬儲存元件以支援應用而言可為重要的。此外,由於大型資料中心嘗試對儲存器的諸多不同態樣(包括平行性、複製(replication)、隔離(isolation)等等)進行管理及作出決定,因此日益需要獲得更多效能資訊。由於此類方式無法按比例縮放(scale),因此此種預測器不應以按需量測(on-demand measurement)或針對每一對的量測(per-pair measurement)為基礎。
遺憾的是,基於規格(specification)或設定(profiling)的現有儲存模型化可能無法滿足此類需求。此乃因儘管各儲存元件自身為相同的製造商且具有同樣的實際年齡,然而基於固態驅動機(SSD)的儲存器常常會因老化/磨損而表現出不同的潛時/頻寬及時變特性且會表現出例如快閃轉譯層(FTL)等隱藏特性。
對於預測儲存距離(即,與資料中心內的一對儲存元件之間的距離有關的效能特性)而言,另一障礙是成對預測(pair-wise prediction)需要的量測過多(慮及所有的成對連接(all-to-all connection))。
均出於全部目的併入本案供參考的於2016年7月28日提出申請、序列號為15/222,938的美國專利申請案及於2016年8月1日提出申請、序列號為15/222,811的美國專利申請案提供該些問題的部分解決方案。但亦可考慮其他方式。
基於快閃的儲存系統(Flash-based storage system)具有非對稱的效能特性。亦即,讀取會耗費5微秒(μm)至25微秒,但寫入會耗費100微秒至200微秒,而抹除快閃區塊則可能耗費幾毫秒(ms)。此外,快閃單元可承受的程式/抹除循環的數目通常是有限的。因此,可利用損耗均衡(且將其視作一種效能特性)。再者,垃圾收集(Garbage Collection)會耗費大量循環,而在此期間所有輸入/輸出(input/output,I/O)操作可能被阻斷。
此外,慮及應用的各種需求及特性,例如嵌式快閃轉譯層(FTL)或針對每一物理元件的快閃轉譯層(FTL-per physical device)等傳統方式可能是不經濟的。兩個代表性實例為分佈式檔案系統(HDFS)及鍵值(KV)儲存(KV-Store)。分佈式檔案系統通常使用大的區塊大小(在諸多情形中為64百萬位元組(megabyte,MB)),而鍵值儲存則使用小的區塊大小(例如,對臉書工作負載(Facebook workload)使用100位元組(byte,B) 的資料)。在此種情形中,鍵值儲存的快閃轉譯層費用(overhead)(資料結構記憶體佔用空間(data structure memory foot print)及物理區塊位址映射(PBA mapping))可較分佈式檔案系統的快閃轉譯層費用大640,000倍。換言之,自記憶體佔用空間角度而言,假定映射方案相同,則一個鍵值儲存儲存元件的快閃轉譯層可處理640,000個分佈式檔案系統儲存元件的快閃轉譯層。此將有助於產生可被映射至具有不同容量的快閃轉譯層的儲存器群集以優化效率及消除隱藏快閃轉譯層潛時。
儲存距離圖形/樹(storage distance graph/tree)可將拓撲圖形/樹(topology graph/tree)與每一儲存器的效能加以組合。此種方式利用了如下事實:相較於儲存器效能的變化/改變而言,拓撲鮮有改變。具體而言,應在服務等級目標(Service Level Objective,SLO)中避免快閃轉譯層的不可預測的潛時。
新式租戶感知儲存共享引擎(TASTE)可接收多個輸入。輸入至租戶感知儲存共享引擎的一個輸入可來自具有嵌式資訊(例如,潛時、頻寬、拓撲、各儲存器之間的距離等等)的儲存資源資訊。輸入至租戶感知儲存共享引擎的第二個輸入可為租戶的(應用的)規格以及應用的要求。租戶感知儲存共享引擎可提供滿足應用的要求的群集(一組儲存器)。此外,租戶感知儲存共享引擎可提供具有快閃轉譯層映射以及快閃轉譯層頁面大小及持久性的子群集。另外,租戶感知儲存共享引擎亦可實作給定應用的部分要求(例如,冗余、平行性、及保全性)。最終,租戶感知 儲存共享引擎可提供動態集用池控制(dynamic pool control)。舉例而言,可支援資料遷移以達成負載平衡(load balancing)、容量提供(capacity provisioning)等。
快閃轉譯層群集映射(FTL Cluster Mapping)
租戶感知儲存共享引擎可感知儲存資源集用池(storage resource pool)。舉例而言,租戶感知儲存共享引擎可區分高效能儲存元件與低效能儲存元件、以及各儲存器(本地的或遠程的)之間的接近度(proximity)(及距離)。假定例如兩個租戶(應用)現分別請求進行分佈式檔案系統及鍵值儲存的儲存。
如先前所論述,分佈式檔案系統的快閃轉譯層可因其較大的頁面粒度(page granularity)而為佔用空間相對小的映射。因此,多個儲存元件(虛擬的或物理的)可群集於一起以形成另一虛擬儲存元件,所述另一虛擬儲存元件實際上自帶具有邏輯區塊位址(Logic Block Address,LBA)介面的快閃轉譯層。
與分佈式檔案系統不同,鍵值儲存服務不僅需要較高效能的儲存器,而且快閃轉譯層的佔用空間較分佈式檔案系統的快閃轉譯層佔用空間大得多。因此,租戶感知儲存共享引擎可分配更少但更高效能的儲存元件以形成供鍵值儲存使用的快閃轉譯層群集。
快閃轉譯層頁面大小(FTL Page Size)
作為實例對照,分佈式檔案系統可在其群集之間具有64百萬位元組的頁面。但鍵值儲存可根據鍵值對放置(KV pair placement)而具有不同的頁面大小;例如,100位元組、32千位元組(kilobyte,KB)、及2百萬位元組。
複製因數(Replication Factor)
自資源管理角度而言,租戶感知儲存共享引擎亦可提供某種程度的複製。舉例而言,群集中的每一儲存元件可由其他儲存元件來形成鏡像。快閃轉譯層可控制資料複製。
應用可具有節點間複製要求(inter-node replication requirement)及框架間複製要求(inter-rack replication requirement)二者(即,資料需要被拷貝至不同的儲存元件及不同節點中的儲存元件以防止資料因同一節點或同一框架的節點失效(node failure)或斷電(power failure)而丟失)。資源管理者亦應瞭解此種上下文。租戶感知儲存共享引擎可提供應用程式介面(Application Program Interface,API)以交換此類要求,進而使得租戶感知儲存共享引擎能夠在節點內提供複製。因此,舉例而言,分佈式檔案系統可省去一個複製因數且僅需要在目標複製因數為三時著重於框架間複製。作為另一選擇或另外,租戶感知儲存共享引擎可管理框架間複製及框架內複製(intra-rack replication)。
平行性
某些租戶可能對潛時及頻寬二者皆敏感,但各別可用物理儲存元件均無法提供足以滿足所述租戶的要求的效能。在此種情形中,租戶感知儲存共享引擎可產生滿足應用的要求的新虛擬 儲存元件。新虛擬儲存元件可在降低大體積輸入/輸出中的潛時的同時表現出較高的聚合頻寬(aggregate bandwidth),此可降低隊列延遲(queue delay)。
動態資源集用池控制(Dynamic Resource Pool Control)
如先前所論述,由於效能特性隨時間、容量提供、負載平衡等而改變,因此儲存集用池可能需要進行更新。應對動態集用池控制的一種方式是遷移。無論用於儲存資料的儲存元件的類型(物理的、虛擬的、快閃轉譯層群集的一部分、整個快閃轉譯層群集等)如何,租戶感知儲存共享引擎均可對資料進行遷移。可進行遷移的原因是租戶感知儲存共享引擎能感知其基本儲存器類型及快閃轉譯層實施方案。
圖1示出具有與客戶機進行通訊的各種主機的資料中心。在圖1中,資料中心105被示出為包括主機110、115、120、125、及130。以下將參照圖2至圖3示出關於主機110、115、120、125、及130的更多細節。資料中心105亦可包括允許主機110、115、120、125、及130彼此通訊及與客戶機140進行通訊的網路135。網路135可為任一種網路,包括區域網路(Local Area Network,LAN)或廣域網路(Wide Area Network,WAN)。網路135可使用纜線技術(wireline technology)(例如,乙太網路(Ethernet))、無線技術(例如IEEE 802.11 a/b/g/n/ac中的任一者)、或者等效技術或替代性技術(或二者的組合)。另外,儘管圖1顯示主機110、115、120、125、及130位於單一地理區域內, 然而在本發明概念的其他實施例中,主機110、115、120、125、及130可在地理上分散開並使用例如網際網路(Internet)等全域網路(可使用例如虛擬專用網路(Virtual Private Network,VPN)等覆蓋網路(overlay network))進行互連。
主機110可支援應用145。應用145可為由客戶機140經由安全殼(Secure Shell,SSH)、網路介面(web interface)、或應用程式介面(API)來使用的應用。
儘管圖1將主機110、115、120、125、及130示出為相同的且將其全部示出為塔台電腦(tower computer),然而本發明概念的實施例可支援可各不相同的主機110、115、120、125、及130的任意所需格式。舉例而言,某些主機110、115、120、125、及130可為各種型號及製造商的塔台電腦,而其他主機110、115、120、125、及130則可為各種型號及製造商的安裝有框架的伺服器(rack-mounted server)。就處理器容量、可用記憶體、及可用儲存器而言,不同的主機110、115、120、125、及130可具有不同的容量,主機110、115、120、125、及130皆可具有不同格式。舉例而言,某些主機110、115、120、125、及130可使用動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)作為構件,而其他主機110、115、120、125、及130則可使用持久性隨機存取記憶體(Persistent Random Access Memory,PRAM)、靜態隨機存取記憶體(Static Random Access Memory,SRAM)、鐵電式隨機存取記憶體(Ferroelectric Random Access Memory, FRAM)、或例如磁阻式隨機存取記憶體(Magnetoresistive Random Access Memory,MRAM)等非揮發性隨機存取記憶體(Non-Volatile Random Access Memory,NVRAM)。相似地,某些主機110、115、120、125、及130可使用傳統的硬碟驅動機來進行儲存,而其他主機110、115、120、125、及130則可使用快閃記憶體(一種非揮發性隨機存取記憶體)或磁阻式隨機存取記憶體。無論此處是否列舉,其他可能性亦處於本發明概念的範圍內。
如上所述,主機110、115、120、125、及130皆為本質上等效的及可互換的。因此,在此文獻的其餘內容中提及主機110均旨在囊括主機110、115、120、125、及130中的任一者及所有者,且並不限定於此。
儘管圖1將客戶機140示出為具有監視器、鍵盤、及滑鼠的傳統迷你塔台電腦系統(minitower computer system),然而客戶機140可呈任何所需形式,包括膝上型電腦(laptop computer)、平板電腦(tablet computer)、智慧型電話、及任何其他所需技術格式。另外,儘管圖1示出單一客戶機140,然而本發明概念的實施例可同時支援任意數目的客戶機140。
圖2示出根據本發明概念實施例的圖1所示主機110的細節。在圖2中,主機110被示出為包括處理器205(亦被稱作中央處理單元(Central Processing Unit,CPU))、記憶體210、網路連接件215、及儲存元件220。處理器205可為任一種處理器:例如,因特爾至強(Intel Xeon)處理器、賽龍(Celeron)處理器、 安騰(Itanium)處理器、或淩動(Atom)處理器、超微半導體公司皓龍處理器(AMD Opteron processor)、ARM處理器等。如上所述,記憶體210可為任一種記憶體(例如快閃記憶體、靜態隨機存取記憶體、持久性隨機存取記憶體等),但通常為動態隨機存取記憶體。網路連接件215可為可將圖1所示主機110連接至網路135的任一種連接件:例如,乙太網路介面或無線介面。儲存元件220可為可由資料中心使用的任一種儲存元件。儘管固態驅動機(SSD)是儲存元件220的一種可能形式,然而儲存元件220亦可包括其他儲存形式,例如硬碟驅動機或其他長期儲存元件。
主機110亦可包括租戶感知儲存共享引擎(TASTE)225。租戶感知儲存共享引擎225可使用關於租戶(即,應用)(例如,租戶145及230)的要求的資訊,且可管理儲存元件陣列的運作。儘管圖2將租戶145及230示出為由主機110主控,然而本發明概念的實施例可支援由除主機110以外的機器主控的租戶:即,租戶感知儲存共享引擎225可管理遠程應用的及本地應用的儲存元件陣列。
圖3示出圖1所示主機110的其他細節。參照圖3,通常,一或多個機器110包括一或多個處理器205,所述一或多個處理器205可包括記憶體控制器305及時鐘310,記憶體控制器305及時鐘310可用於協調一或多個機器110的各部件的運作。處理器205亦可耦合至記憶體210,記憶體210可例如包括隨機存取記憶體(RAM)、唯讀記憶體(read-only memory,ROM)、或其他狀態 保持媒體(state preserving media)。處理器205亦可耦合至儲存元件220及網路連接件315,網路連接件315可為例如乙太網路連接件或無線連接件。處理器205亦可連接至匯流排320,匯流排320可附接有使用者介面325及可使用輸入/輸出引擎330來管理的輸入/輸出介面埠以及其他部件。
圖4示出圖2所示接收應用要求並調整儲存陣列作為結果的租戶感知儲存共享引擎(TASTE)225。在圖4中,租戶感知儲存共享引擎225可接收儲存資源資訊405及租戶要求415,儲存資源資訊405可為關於儲存元件陣列410中的儲存元件的資訊。利用此資訊,租戶感知儲存共享引擎225可將儲存元件陣列410配置成應對圖2所示租戶145及230所可能具有的任意數目的要求。此類要求可包括以下內容(在隨後的圖中提供實例來說明圖2所示租戶感知儲存共享引擎225可如何滿足該些要求):
˙頻寬420:圖2所示租戶145及230所需要的最小頻寬。慮及來自圖2所示租戶145及230的最小頻寬要求,租戶感知儲存共享引擎225可自儲存元件陣列410選擇提供所請求最小頻寬420的一或多個儲存元件。
˙潛時425:圖2所示租戶145及230所能容忍的最大潛時。慮及圖2所示租戶145及230的最大潛時要求,租戶感知儲存共享引擎225可自儲存元件陣列410選擇提供所請求最大潛時425的一或多個儲存元件。
˙群集大小430:應被指配用以支援圖2所示租戶145及 230的各別儲存元件的數目。慮及所請求群集大小,租戶感知儲存共享引擎225可選擇足夠的儲存元件來提供所請求群集大小430。
˙頁面大小435:被指配用以支援圖2所示租戶145及230的每一儲存元件的頁面大小所應具有的大小。慮及所請求頁面大小(或多個所請求頁面大小,乃因租戶145或230可針對群集中的不同儲存元件請求不同頁面大小),租戶感知儲存共享引擎225可將所述群集中的各種儲存元件配置成使用一或多個所請求頁面大小435。
˙冗餘440(其亦可被稱為複製因數):應儲存於圖2所示租戶145及230的儲存元件陣列410內的每一資料的拷貝的數目。慮及所請求冗餘,租戶感知儲存共享引擎225可選擇足夠的儲存元件來提供所需要冗餘440。
應注意,冗餘440與群集大小430是不同的(若相關)概念。若圖2所示租戶145及230規定群集大小430為三,則租戶145及230僅請求在所述群集中包含三個儲存元件。若圖2所示租戶145及230規定冗餘440為三,則租戶145及240請求將每一資料儲存於三個不同的儲存元件上。因此,圖2所示租戶145及230的群集大小將需至少為三(乃因須以至少三個不同的儲存元件來儲存每一資料的三個拷貝),但所述群集大小可更高。亦能藉由比較獨立磁碟冗餘陣列(RAID)階層0與獨立磁碟冗餘陣列階層1之間的差異來理解群集大小430與冗餘440之間差異。獨 立磁碟冗餘陣列0提供更大的總儲存容量(等於各別磁碟的容量之和),但不提供應對任意各別磁碟失效的冗餘。另一方面,獨立磁碟冗餘陣列1則針對由n個磁碟構成的陣列中多達n-1個磁碟失效的可能性進行保護,但所提供的容量僅等於各別儲存磁碟的容量中的最小值。
˙平行性445:將各儲存元件加以組合以為圖2所示租戶145及230提供所需程度的服務。可能發生的是,圖2所示租戶145及230可能需要相較於儲存元件陣列410中任意各別儲存元件所可提供的頻寬較大的頻寬及/或相較於所述任意各別儲存元件所可提供的潛時較小的潛時。在此種情況下,慮及所請求平行性,租戶感知儲存共享引擎225可選擇提供所需要平行性445的儲存元件。該些所選擇儲存元件可接著組合成虛擬儲存元件,進而提供所需頻寬及/或潛時。
應注意,儘管平行性445與頻寬420及潛時425具有某種程度的交疊,然而仍存在差異。舉例而言,若圖2所示租戶145及230規定頻寬420及/或潛時425的要求、但儲存元件陣列410內的各別儲存元件均無法提供所需要的頻寬420及/或潛時425,則租戶感知儲存共享引擎225可回送未能滿足所述要求的資訊而不嘗試調用平行性。圖2所示租戶145及230可接著對其將滿足於較少的要求還是希望亦建立平行性445的要求作出決定。(當然,若儲存元件陣列410中的各別儲存元件均無法滿足頻寬420 及/或潛時425的要求,則租戶感知儲存共享引擎225可在需要時自動申請作出平行性445的另一要求)。
˙持久性450:圖2所示租戶145及230的資料在被抹除之前應餘留於儲存元件上的時長、或所述資料可在斷電後繼續存在的時長(或者為二者)。圖2所示租戶145及230可希望其資料餘留於其儲存元件上達某些最小數量的時間且不因老化而被抹除(即,其資料不應僅因已儲存達某些最小數量的時間而被刪除)。租戶感知儲存共享引擎225可將儲存元件陣列410的支援圖2所示租戶145及230的儲存元件配置成保持資料達規定數量的時間。舉例而言,對被偶發地存取的資料使用鍵值儲存的應用可希望保證所述資料將不過早無效。租戶感知儲存共享引擎225可選擇將不會在規定長度的時間內使資料無效的儲存元件,在此之後,所述資料可經歷無效化(invalidation)/垃圾收集。
作為另一選擇,圖2所示租戶145及230可希望確保資料可在斷電後繼續存在。部分解決方案可為使用非揮發性儲存器(其可在電源斷開時保持資料)。但持久性亦可能需要確保無論斷電與否資料均在寫入至儲存元件時得到確認的能力。舉例而言,儲存元件可在動態隨機存取記憶體中的緩衝器中儲存資料,且僅在存在欲寫入的預定數量的資料時將所述資料寫入至儲存器。若在所緩衝資料寫入至長期儲存器之前發生斷電,則所述緩衝器中的資料將丟失。為了應對此問題,對持久性作出請求的應用可將 所述應用映射至持久性得到保證的快閃轉譯層及即便在突然發生掉電(power loss)時亦能防止資料丟失的物理元件(例如,具有嵌式高容量電容器的固態驅動機)。
˙保全性455(其亦可被稱作隔離):一個特定租戶的資料應儲存於儲存元件陣列410中與一或多個其他租戶的資料不同的儲存元件上。舉例而言,圖2所示租戶145可規定其資料不應儲存於圖2所示租戶230的資料所儲存於的儲存元件上。租戶感知儲存共享引擎225可選擇儲存元件陣列410的將圖2所示租戶145的資料與一或多個其他所規定租戶隔離的儲存元件。
˙遷移460:租戶的資料應自儲存元件陣列410內的一個儲存元件移動至另一儲存元件。圖2所示租戶145及230可請求將資料自儲存元件陣列410中的一個儲存元件遷移至另一儲存元件。或者,租戶感知儲存共享引擎225可出於其他原因(例如,容量提供或負載平衡)而決定遷移圖2所示租戶145及230的資料。無論是以哪種方式,租戶感知儲存共享引擎225均可設法將資料自儲存元件陣列410內的一個儲存元件遷移至另一儲存元件。
除圖4中所示者以外,亦可存在其他要求415。舉例而言,圖2所示租戶145及230可規定將特定數量的儲存(例如,2十億位元組(gigabyte,GB))分配給租戶145及230中的每一者。無論圖4中是否具體示出,本發明概念的實施例均可支援任意要 求415。
圖5示出圖2所示租戶感知儲存共享引擎225的細節。在圖5中,租戶感知儲存共享引擎225可包括接收邏輯505、儲存器510、選擇邏輯515、虛擬儲存元件邏輯520、及轉譯層邏輯525。接收邏輯505可自例如圖2所示租戶145及230等各種來源接收例如圖4所示儲存資源資訊405及/或圖4所示租戶要求415等資訊。儲存器510可儲存關於圖4所示儲存元件陣列410中的儲存元件的資訊:哪些儲存元件儲存於哪些節點中、哪些種儲存元件是可用的、所述儲存元件的大小、頻寬、及潛時等。應注意,被視為「可用的」儲存元件可有所變化。舉例而言,假定圖2所示租戶145已請求與圖2所示租戶230隔離。若圖2所示租戶230接著請求儲存元件的群集,則被指配至圖2所示租戶145的任意儲存元件均不應被視為可用於選擇圖2所示租戶230的群集。
選擇邏輯515可自圖4所示儲存元件陣列410選擇儲存元件以滿足圖4所示租戶的要求415。虛擬儲存元件邏輯520可自圖4所示儲存元件陣列410中的一或多個物理儲存元件「構建(construct)」虛擬儲存元件。舉例而言,若圖4所示租戶要求415規定圖4所示平行性445,則虛擬儲存元件邏輯520可「構建」在物理儲存元件均無法滿足該些要求時提供所需要的頻寬及/或潛時的虛擬儲存元件。
轉譯層邏輯525可建立欲與用於滿足租戶要求的物理及/或虛擬儲存元件一起使用的轉譯層。轉譯層邏輯525的操作可取 決於租戶要求的內容。在本發明概念的一個實施例中,若租戶要求包括群集大小,則轉譯層邏輯525可建立轉譯層以在群集大小中的各儲存元件之間將邏輯位址映射至物理位址。作為另一選擇,若創建虛擬儲存元件以供租戶使用,則轉譯層邏輯525可將所述轉譯層建立成對所述租戶而言看似單一儲存元件,但會將位址自此虛擬儲存元件映射至建立所述虛擬儲存元件的各種物理儲存元件。在本發明概念的另一實施例中,若租戶要求包括一或多個頁面大小,轉譯層邏輯525可建立轉譯層以根據所規定頁面大小中的一者來將各種儲存元件劃分成多個頁面。在本發明概念的另一實施例中,若租戶要求包括複製因數,則轉譯層邏輯525可建立轉譯層以將單一邏輯位址映射至各種物理儲存元件上的多個物理位址,以在各物理儲存元件之間支援複製。如上所述,各物理儲存元件可位於單一節點內或多個節點之間。在本發明概念的另一實施例中,若租戶要求包括持久性要求,則轉譯層邏輯525可建立轉譯層以對儲存於一或多個物理儲存元件上的各別資料已多久未改變進行跟蹤,且可僅在已經過臨限數量的時間之後標記資料以將資料無效化。另外,本發明概念的實施例可具有轉譯層邏輯525建立支援多個此類租戶要求的轉譯層。
圖6示出圖5所示選擇邏輯515的細節。在圖6中,選擇邏輯515可包括群集選擇邏輯605、配置邏輯610、複製邏輯615、持久性邏輯620、隔離邏輯625、及遷移邏輯630。群集選擇邏輯605可選擇儲存元件陣列410中的各儲存元件的群集以滿足 圖4所示群集大小430。配置邏輯610可將儲存元件陣列410中的一或多個儲存元件配置成使用圖4所示一或多個頁面大小435。複製邏輯615可管理資料中心105處的節點內的不同儲存元件之間的資料複製。持久性邏輯620可將圖4所示儲存元件陣列410內的儲存元件配置成使得即便資料未被存取,所述資料仍能持續存在所規定最小持續時間,或者持久性邏輯620可使得選擇邏輯515選擇可保證資料可在非預期斷電後繼續存在的儲存元件。隔離邏輯625可選擇圖4所示儲存元件陣列410內的不與一或多個所辨識租戶共享儲存元件的儲存元件(或各儲存元件的群集)。並且遷移邏輯630可因應於圖2所示租戶145及/或230的請求或藉由圖2所示租戶感知儲存共享引擎225自身來管理自圖4所示儲存元件陣列410內的一個儲存元件至另一儲存元件的資料遷移。
在圖5至圖6中,闡述各種部件來作為邏輯。該些邏輯可為經適當設計的電路以達成所需結果,或為經適當修改的通用電路,例如可程式化唯讀記憶體(Programmable Read-Only Memory,PROM)、可抹除可程式化唯讀記憶體(Erasable Programmable Read-Only Memory,EPROM)、電可抹除可程式化唯讀記憶體(Electronically Erasable Programmable Read-Only Memory,EEPROM)、或任意等效設計等。該些邏輯亦可使用在適宜的處理器上運行的軟體來實作。
以上論述提供對圖2所示租戶感知儲存共享引擎225如何運作的某些闡釋。但某些實例可有助於闡明圖2所示租戶感知 儲存共享引擎225的操作。首先,示例性儲存元件陣列410將有所幫助。
圖7示出圖4所示儲存元件陣列410的實例。在圖7中,儲存元件陣列410總共具有25個儲存元件。該些儲存元件被粗略地劃分成兩種類別的儲存元件。儲存元件705可為高效能儲存元件,而儲存元件710可為低效能儲存元件。儲存元件705及710可在節點715、720、725、730、及735之間進行劃分,其中每一節點均可代表圖1所示資料中心105內的單一機器或單一框架。
儘管圖7示出儲存元件陣列410的實例,然而本發明概念的實施例可支援儲存元件陣列410的任意所需配置。舉例而言,可存在任意數目的節點而不僅僅是五個。每一節點可具有任意數目的儲存元件而不僅僅是五個。每一節點可具有與儲存元件陣列410中的其他節點不同數目的儲存元件。每一節點亦可具有不同數目(包括零)的不同類型的儲存元件。舉例而言,一個節點可僅具有高效能儲存元件705,而另一節點則可僅具有低效能儲存元件710。可存在多於兩種類別的儲存元件(在圖7中,高效能儲存元件705及低效能儲存元件710),且所述儲存元件可根據多於一個準則來進行分類。並且看似對圖7中的各儲存元件進行鏈接的任意其他執行緒(thread)亦可在本發明概念的其他實施例中有所變化。
圖8示出建立於圖7所示儲存元件陣列410內的虛擬儲存元件。在圖8中,圖2所示租戶145可具有圖4所示的規定要 求415,以用於辨識頻寬420及/或潛時425、以及平行性445。圖4所示的該些要求415可指示圖2所示租戶145希望得到特定的最小頻寬及/或最大潛時,且若可提供該些要求的單一儲存元件均不可用,則圖2所示租戶感知儲存共享引擎225可構建滿足該些要求的虛擬儲存元件。進一步假定儲存元件陣列410中的單一儲存元件均無法滿足該些要求。因此,圖2所示租戶感知儲存共享引擎225可自節點715中的兩個儲存元件構建虛擬儲存元件805。在圖8中,租戶感知儲存共享引擎225可使用關於圖2所示租戶145的資訊以瞭解到低效能儲存元件710對於圖2所示租戶145而言將為足夠的;但若圖2所示租戶145需要來自高效能儲存元件705的支援,則圖2所示租戶感知儲存共享引擎225可自高效能儲存元件705構建虛擬儲存元件805。
由於虛擬儲存元件805可代表新式快閃儲存元件(例如,固態驅動機),因此虛擬儲存元件805可包括其自已的快閃轉譯層(FTL)810。快閃轉譯層810可管理由圖2所示租戶145使用的邏輯區塊位址與由包括虛擬儲存元件805的各儲存元件使用的物理區塊位址之間的映射。
圖9示出被分配用以滿足圖7所示儲存元件陣列410中的各種應用的要求的各種群集及儲存元件頁面大小。在圖9中,圖2所示租戶145可規定群集大小430為四個虛擬儲存元件,每一虛擬儲存元件包括為二的平行性445。圖2所示租戶145可為例如分佈式檔案系統。相似地,圖2所示租戶230(其可為鍵值儲存) 可規定群集大小430為三個虛擬儲存元件,每一虛擬儲存元件包括為二的平行性445。為了達成該些結果,圖2所示租戶感知儲存共享引擎225可為每一租戶構建適宜的虛擬儲存元件。由於分佈式檔案系統不需要高效能儲存元件,因此租戶感知儲存共享引擎225可使用低效能儲存元件710來構建分佈式檔案系統的群集。因此,圖2所示租戶感知儲存共享引擎225可構建虛擬儲存元件805、905、910、及915(為簡潔起見,未在圖9中示出該些虛擬儲存元件的快閃轉譯層),虛擬儲存元件805、905、910、及915可組合成群集920。相似地,由於鍵值儲存受益於高效能儲存元件,因此圖2所示租戶感知儲存共享引擎225可自高效能儲存元件705構建虛擬儲存元件925、930、及935。虛擬儲存元件925、930、及935可接著組合成群集940。
圖9亦說明圖4所示頁面大小435的使用。在圖9中,圖2所示租戶145可針對虛擬儲存元件805、905、910、及915將圖4所示頁面大小435規定為64百萬位元組(頁面大小945),而鍵值儲存則可分別針對虛擬儲存元件925、930、及935將圖4所示頁面大小435規定為100位元組、32千位元組、及2百萬位元組(頁面大小950、955、及960)。應注意,不同租戶可規定不同的圖4所示頁面大小435,而單一租戶亦不必對所有儲存元件(虛擬的或物理的)使用相同的圖4所示頁面大小435。
圖10示出圖7所示儲存元件陣列410中各儲存元件之間的複製。在圖10中,與圖9相似,圖2所示租戶145可規定圖4 所示群集大小430為四個儲存元件。但圖2所示租戶145不再規定圖4所示平行性445,而是可規定冗餘440為二:即,每一資料應保存於節點內的兩個儲存元件上。圖2所示租戶感知儲存共享引擎225可接著構建虛擬儲存元件805、905、910、及915;但圖2所示租戶感知儲存共享引擎225不再對各別儲存元件加以組合以構建看似與經組合的兩個儲存元件一樣大的虛擬儲存元件,而是可設法使所述儲存元件將資料自每一虛擬儲存元件內的一個儲存元件拷貝至其他儲存元件。此拷貝操作被示作操作1005。
應注意,圖10示出節點內的各儲存元件之間的資料拷貝。圖2所示租戶感知儲存共享引擎225亦可管理不同節點中(即,不同框架中)的各儲存元件之間的資料拷貝,以針對原本可能會使節點消失的掉電提供保護。藉此,資料冗餘不僅能防止儲存元件失效而且能防止節點內的所有儲存元件同時變得無法使用(如在斷電時所可能發生地一般)。
圖11示出圖7所示儲存元件陣列410中各儲存元件之間的資料遷移。在圖11中,圖2所示租戶145或圖2所示租戶感知儲存共享引擎225自身可決定應將資料自一個儲存元件遷移至另一儲存元件。舉例而言,圖2所示租戶145可能請求將儲存增大到舊儲存元件所無法支援的程度,且因此圖2所示租戶感知儲存共享引擎225可如由操作1105所示將資料遷移至新儲存元件。或者,出於損耗均衡的原因(或出於其他原因),圖2所示租戶感知儲存共享引擎225可確定需要將資料自舊儲存元件遷移至新儲存 元件,如同樣由操作1105所示。
圖12示出根據本發明概念實施例的圖2所示租戶感知儲存共享引擎225接收圖4所示應用的儲存要求415並相應地調整圖4所示儲存元件陣列410的示例性過程的流程圖。在圖12中,在方塊1205處,圖2所示租戶感知儲存共享引擎225可接收租戶(應用)的圖4所示要求415。在方塊1210處,圖2所示租戶感知儲存共享引擎225可辨識圖1所示資料中心105處的可用資源:即,圖4所示儲存元件陣列410中的各儲存元件、及所述儲存元件的所有特性。可自儲存器510存取此資訊。在方塊1215處,圖5所示選擇邏輯515可選擇可滿足租戶的圖4所示要求415的圖4所示儲存元件陣列410中各儲存元件的子集。在方塊1220處,圖5所示虛擬儲存元件邏輯520可在需要時自至少一個物理儲存元件構建虛擬儲存元件。並且在方塊1225處,圖5所示虛擬儲存元件邏輯520可建立滿足應用的要求的轉譯層。如以上參照圖5所述,圖5所示轉譯層邏輯525可建立可滿足應用要求中的一或多個不同目的的轉譯層:方塊1225可實作用以達成該些目的的轉譯層。
圖13A至圖13C示出根據本發明概念實施例的圖2所示租戶感知儲存共享引擎225因應於所接收應用的要求對圖4所示儲存元件陣列410進行配置的示例性過程的流程圖。在圖13A中,在方塊1303處,圖5所示接收邏輯505可自圖2所示租戶145及230接收圖4所示群集大小430。在方塊1306處,圖6所示群集 選擇邏輯605可選擇滿足圖4所示群集大小430的圖4所示儲存元件陣列410的子集。
作為另一選擇,在方塊1309處,圖5所示接收邏輯505可自圖2所示租戶145及230接收圖4所示持久性要求450。在方塊1312處,圖6所示持久性邏輯620可將圖4所示儲存元件陣列410中的各儲存元件配置成滿足圖4所示持久性要求450。
作為另一選擇,在方塊1315處,圖5所示接收邏輯505可自圖2所示租戶145及230接收圖4所示隔離要求455。在方塊1318處,圖6所示隔離邏輯625可選擇圖4所示儲存元件陣列410的滿足圖4所示隔離要求455的子集。
作為另一選擇,在方塊1321處(圖13B),圖5所示接收邏輯505可自圖2所示租戶145及230接收圖4所示複製因數440。在方塊1324處,圖6所示群集選擇邏輯605可選擇滿足圖4所示複製因數440的圖4所示儲存元件陣列410的子集。在方塊1327處,圖2所示租戶感知儲存共享引擎225可管理節點內的各儲存元件之間的資料複製,且在方塊1330處,圖2所示租戶感知儲存共享引擎225可管理圖1所示資料中心105中的各節點之間的資料複製。
作為另一選擇,在方塊1333處,圖5所示接收邏輯505可自圖2所示租戶145及230接收圖4所示一或多個頁面大小435。在方塊1336處,圖6所示群集選擇邏輯605可選擇圖4所示儲存元件陣列410的子集。在方塊1339處,圖6所示配置邏輯 610可將圖4所示儲存元件陣列410中的各儲存元件配置成使用圖4所示一或多個頁面大小435。
作為另一選擇,在方塊1342處(圖13C),圖5所示接收邏輯505可自圖2所示租戶145及230接收圖4所示潛時425。在方塊1345處,圖6所示群集選擇邏輯605可選擇滿足圖4所示潛時425的圖4所示儲存元件陣列410的子集。
作為另一選擇,在方塊1348處,圖5所示接收邏輯505可自圖2所示租戶145及230接收圖4所示頻寬420。在方塊1351處,圖6所示群集選擇邏輯605可選擇滿足圖4所示頻寬420的圖4所示儲存元件陣列410的子集。
作為另一選擇,在方塊1354處,圖5所示接收邏輯505可自圖2所示租戶145及230(或自圖2所示租戶感知儲存共享引擎225自身)接收圖4所示遷移460。在方塊1357處,圖2所示租戶感知儲存共享引擎225可辨識欲被遷移資料的儲存元件。在方塊1360處,圖2所示租戶感知儲存共享引擎225可選擇資料所應遷移至的第二儲存元件。並且在方塊1363處,圖6所示遷移邏輯630可將資料自儲存元件遷移至第二儲存元件。
在圖12至圖13C中,示出本發明概念的某些實施例。但熟習此項技術者將認識到,藉由改變所述方塊的次序、藉由省略方塊、或藉由包括圖式中所未示出的鏈接,本發明概念亦可具有其他實施例。所述流程圖的所有此類變型應被視為本發明概念的實施例,而無論是否明確地如此闡述。
以下論述旨在提供對可在其中實作本發明概念某些態樣的一或多個適合的機器的簡短總體說明。所述一或多個機器可至少部分地藉由以下來控制:來自例如鍵盤、滑鼠等傳統輸入元件的輸入;以及自另一機器接收到的指令、與虛擬實境(virtual reality,VR)環境、生物統計回饋(biometric feedback)、或其他輸入訊號的交互作用。本文中所用用語「機器」旨在廣泛地囊括單一機器、虛擬機器、或由以通訊方式耦合的一起運作的機器、虛擬機器、或元件形成的系統。示例性機器包括:運算元件,例如個人電腦、工作站、伺服器、可攜式電腦、手持式元件、電話、平板(tablet)等;以及運輸元件,例如私人或公共運輸(例如汽車、火車、計程車等)。
所述一或多個機器可包括嵌式控制器,例如可程式化或非可程式化邏輯元件或陣列、應用專用積體電路(Application Specific Integrated Circuit,ASIC)、嵌式電腦、智慧卡等。所述一或多個機器可利用連接至一或多個遠端機器(例如藉由網路介面、數據機、或其他通訊性耦合)的一或多個連接。機器可以例如內部網路(intranet)、網際網路、局域網路、廣域網路等實體及/或邏輯網路的方式進行互連。熟習此項技術者將理解,網路通訊可利用各種有線及/或無線短程或長程載體及協定,所述載體及協定包括射頻(radio frequency,RF)、衛星、微波、電氣及電子工程師學會(Institute of Electrical and Electronics Engineers,IEEE)802.11、藍牙®、光學的、紅外的、纜線、雷射等。
可藉由參照或結合相關聯資料來闡述本發明概念的實施例,所述相關聯資料包括當由機器存取時使得所述機器執行任務或定義抽象資料類型或低層階硬體上下文的功能、程序、資料結構、應用程式等。相關聯資料可儲存於例如揮發性及/或非揮發性記憶體(例如,隨機存取記憶體、唯讀記憶體等)中,或儲存於包括硬驅動機、軟磁碟、光學儲存器、磁帶、快閃記憶體、記憶條(memory stick)、數位視訊碟、生物儲存器等其他儲存元件及其相關聯儲存媒體中。相關聯資料可以封包、串列資料、平行資料、傳播訊號等形式經由包括實體及/或邏輯網路在內的傳輸環境而遞送,且可以壓縮或加密格式使用。相關聯資料可用於分佈式環境中,且可在本地及/或遠程地儲存以供機器存取。
本發明概念的實施例可包括包含可由一或多個處理器執行的指令的有形非暫時性機器可讀媒體(machine-readable medium),所述指令包括用於執行本文所述本發明概念的要素的指令。
已參照所示實施例闡述並示出了本發明概念的原理,應認識到,在不背離此類原理的條件下,可在排列及細節上對所示實施例加以潤飾,且可以任何所需方式加以組合。並且,儘管以上論述著重於具體實施例,然而預期存在其他配置。具體而言,儘管本文中使用例如「根據本發明概念的實施例」或類似表達,然而該些片語意在籠統地提及實施例可能性,而並非旨在將本發明概念限制為具體實施例配置。本文所用的該些用語可提及可組 合成其他實施例的相同或不同的實施例。
前述說明性實施例不應被視為限制本發明概念。儘管已闡述若干實施例,然而熟習此項技術者將易於理解,可對該些實施例作出諸多潤飾,而此並不實質上背離本發明的新穎教示內容及優點。因此,所有此類潤飾皆旨在包含於由申請專利範圍所界定的本發明概念的範圍內。
本發明概念的實施例可擴展至以下聲明,且並不限定於此:
聲明1. 本發明概念的實施例包括一種租戶感知儲存共享引擎(TASTE),包括:儲存器,用於儲存關於一組可用儲存元件的資訊,接收邏輯,自應用接收儲存元件要求;以及選擇邏輯,選擇滿足所述儲存元件要求的所述一組可用儲存元件的子集。
聲明2. 本發明概念的實施例包括根據聲明1的租戶感知儲存共享引擎,其中:所述儲存元件要求包括所述應用的群集大小;且所述選擇邏輯包括用以選擇所述一組可用儲存元件的所述子集的群集選擇邏輯,所述可用儲存元件的所述子集中的儲存元件的數目等於所述群集大小。
聲明3. 本發明概念的實施例包括根據聲明2的租戶感知儲存共享引擎,所述租戶感知儲存共享引擎更包括轉譯層邏輯, 所述轉譯層邏輯為所述一組可用儲存元件的所述子集建立轉譯層,以將邏輯區塊位址映射至所述一組可用儲存元件的所述子集上的物理區塊位址。
聲明4. 本發明概念的實施例包括根據聲明3的租戶感知儲存共享引擎,所述租戶感知儲存共享引擎更包括轉譯層邏輯,所述轉譯層邏輯為來自所述一組可用儲存元件的所述子集中的多個儲存元件的虛擬儲存元件建立轉譯層。
聲明5. 本發明概念的實施例包括根據聲明1的租戶感知儲存共享引擎,其中:所述儲存元件要求包括所述應用的頁面大小;且所述選擇邏輯包括配置邏輯,所述配置邏輯將所述一組可用儲存元件的所述子集配置成使用所述頁面大小。
聲明6. 本發明概念的實施例包括根據聲明5的租戶感知儲存共享引擎,所述租戶感知儲存共享引擎更包括轉譯層邏輯,所述轉譯層邏輯為所述一組可用儲存元件的所述子集建立轉譯層,以根據所述頁面大小將邏輯區塊位址映射至物理區塊位址。
聲明7. 本發明概念的實施例包括根據聲明5的租戶感知儲存共享引擎,其中:所述儲存元件要求包括所述應用的多個頁面大小;且所述選擇邏輯包括用以將所述一組可用儲存元件的所述子集配置成使用所述多個頁面大小的配置邏輯。
聲明8. 本發明概念的實施例包括根據聲明7的租戶感知 儲存共享引擎,所述租戶感知儲存共享引擎更包括轉譯層邏輯,所述轉譯層邏輯為所述一組可用儲存元件的所述子集建立轉譯層,以根據第一頁面大小將第一邏輯區塊位址映射至所述一組可用作儲存元件的所述子集中的第一可用儲存元件上的第一物理區塊位址,且根據第二頁面大小將第二邏輯區塊位址映射至所述一組可用儲存元件的所述子集中的第二可用儲存元件上的第二物理區塊位址。
聲明9. 本發明概念的實施例包括根據聲明1的租戶感知儲存共享引擎,其中:所述儲存元件要求包括所述應用的複製因數;且所述選擇邏輯包括用以在所述一組可用儲存元件的所述子集中某一數目的儲存元件之間複製資料的複製邏輯,所述數目等於所述複製因數。
聲明10. 本發明概念的實施例包括根據聲明9的租戶感知儲存共享引擎,所述租戶感知儲存共享引擎更包括轉譯層邏輯,所述轉譯層邏輯為所述一組可用儲存元件的所述子集建立轉譯層,以將所述一組可用儲存元件的所述子集中的第一儲存元件作為所述一組可用儲存元件的所述子集中的第二儲存元件的複製品進行管理。
聲明11. 本發明概念的實施例包括根據聲明9的租戶感知儲存共享引擎,其中所述複製邏輯能夠操作以在節點內的各儲存元件之間複製資料。
聲明12. 本發明概念的實施例包括根據聲明11的租戶感知儲存共享引擎,其中所述應用能夠操作以在各節點之間複製資料。
聲明13. 本發明概念的實施例包括根據聲明1的租戶感知儲存共享引擎,其中:所述儲存元件要求包括所述應用的持久性要求;且所述選擇邏輯包括持久性邏輯,以確保來自所述應用的資料在所述一組可用儲存元件的所述子集內持續存在臨限數量的時間。
聲明14. 本發明概念的實施例包括根據聲明13的租戶感知儲存共享引擎,所述租戶感知儲存共享引擎更包括轉譯層邏輯,所述轉譯層邏輯為所述一組可用儲存元件的所述子集建立轉譯層,以使得所述一組可用儲存元件的所述子集上的資料對於至少所述臨限數量的時間而言不應無效。
聲明15. 本發明概念的實施例包括根據聲明1的租戶感知儲存共享引擎,其中:所述儲存元件要求包括所述應用的持久性要求;且所述選擇邏輯包括持久性邏輯,以確保所述一組可用儲存元件的所述子集能夠在斷電時保護資料。
聲明16. 本發明概念的實施例包括根據聲明1的租戶感知儲存共享引擎,其中:所述儲存元件要求包括所述應用的隔離要求;且 所述選擇邏輯包括隔離邏輯,以確保所述一組可用儲存元件的所述子集不與所述一組可用儲存元件的第二子集交疊,所述一組可用儲存元件的所述第二子集由第二應用使用。
聲明17. 本發明概念的實施例包括根據聲明1的租戶感知儲存共享引擎,其中:所述儲存元件要求包括所述應用的遷移命令;且所述選擇邏輯包括遷移邏輯,以將資料自所述一組可用儲存元件的所述子集內的第一儲存元件遷移至所述可用儲存元件的所述子集內的第二儲存元件。
聲明18. 本發明概念的實施例包括根據聲明1的租戶感知儲存共享引擎,所述租戶感知儲存共享引擎更包括虛擬儲存元件邏輯,以自所述一組可用儲存元件的所述子集中的多個儲存元件形成虛擬儲存元件。
聲明19. 本發明概念的實施例包括根據聲明18的租戶感知儲存共享引擎,所述租戶感知儲存共享引擎更包括用以為所述虛擬儲存元件建立轉譯層的轉譯層邏輯。
聲明20. 本發明概念的實施例包括根據聲明1的租戶感知儲存共享引擎,其中:所述儲存元件要求包括所述應用的頻寬要求;且所述選擇邏輯能夠操作以選擇所述一組可用儲存元件的當加以組合時能提供不小於所述頻寬要求的總頻寬的子集。
聲明21. 本發明概念的實施例包括根據聲明1的租戶感 知儲存共享引擎,其中:所述儲存元件要求包括所述應用的潛時要求;且所述選擇邏輯能夠操作以選擇所述一組可用儲存元件的當加以組合時能提供不大於所述潛時要求的平均潛時的子集。
聲明22. 本發明概念的實施例包括一種方法,所述方法包括:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求;辨識一組可用儲存元件;以及選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集。
聲明23. 本發明概念的實施例包括根據聲明22的方法,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的群集大小;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括自所述一組可用儲存元件選擇儲存元件,所述可用儲存元件的所述子集中的儲存元件的數目等於所述應用的所述群集大小。
聲明24. 本發明概念的實施例包括根據聲明23的方法,所述方法更包括為所述一組可用儲存元件的所述子集建立轉譯層,以將邏輯區塊位址映射至所述一組可用儲存元件的所述子集 上的物理區塊位址。
聲明25. 本發明概念的實施例包括根據聲明22的方法,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的頁面大小;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括:自所述一組可用儲存元件選擇儲存元件;以及將所述所選擇儲存元件配置成使用所述應用的所述頁面大小。
聲明26. 本發明概念的實施例包括根據聲明25的方法,所述方法更包括為所述一組可用儲存元件的所述子集建立轉譯層,以根據所述頁面大小將邏輯區塊位址映射至物理區塊位址。
聲明27. 本發明概念的實施例包括根據聲明25的方法,其中:接收所述應用的頁面大小包括接收所述應用的多個頁面大小;且將所述所選擇儲存元件配置成使用所述應用的所述頁面大小包括將所述所選擇儲存元件配置成使用所述應用的所述多個頁面大小。
聲明28. 本發明概念的實施例包括根據聲明27的方法,所述方法更包括為所述一組可用儲存元件的所述子集建立轉譯 層,以根據所述多個頁面大小將邏輯區塊位址映射至物理區塊位址。
聲明29. 本發明概念的實施例包括根據聲明22的方法,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的複製因數;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括自所述一組可用儲存元件選擇儲存元件,以使得每一資料能夠儲存於某一數目的儲存元件上,儲存元件的所述數目至少與所述應用的所述複製因數一樣大。
聲明30. 本發明概念的實施例包括根據聲明29的方法,所述方法更包括為所述一組可用儲存元件的所述子集建立轉譯層,以將所述一組可用儲存元件的所述子集中的第一儲存元件作為所述一組可用儲存元件的所述子集中的第二儲存元件的複製品進行管理。
聲明31. 本發明概念的實施例包括根據聲明29的方法,所述方法更包括管理節點中的所述一組可用儲存元件的所述子集中的各儲存元件之間的複製。
聲明32. 本發明概念的實施例包括根據聲明31的方法,所述方法更包括藉由所述應用在各節點之間複製資料。
聲明33. 本發明概念的實施例包括根據聲明22的方法,其中: 自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的持久性要求;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括將所述一組可用儲存元件中的儲存元件配置成使得資料將根據所述應用的所述持久性要求而被儲存於所述儲存元件上達臨限數量的時間。
聲明34. 本發明概念的實施例包括根據聲明33的方法,所述方法更包括為所述一組可用儲存元件的所述子集建立轉譯層,以使得所述一組可用儲存元件的所述子集上的資料對於至少所述臨限數量的時間而言不應無效。
聲明35. 本發明概念的實施例包括根據聲明22的方法,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的持久性要求;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括選擇所述一組可用儲存元件中的儲存元件以使得將在斷電時保護資料。
聲明36. 本發明概念的實施例包括根據聲明22的方法,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收隔離要求,所述隔離要求規定所述應用應自第二應用被隔離;且 選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括選擇所述一組可用儲存元件中的儲存元件,以使得所述一組可用儲存元件的所述子集中無儲存元件儲存所述第二應用的資料。
聲明37. 本發明概念的實施例包括根據聲明22的方法,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的遷移命令;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括:辨識欲被遷移資料的儲存元件;自所述一組可用儲存元件選擇第二儲存元件;以及將資料自所述儲存元件遷移至所述第二儲存元件。
聲明38. 本發明概念的實施例包括根據聲明22的方法,其中選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括自至少一個儲存元件形成虛擬儲存元件。
聲明39. 本發明概念的實施例包括根據聲明38的方法,所述方法更包括為所述虛擬儲存元件建立轉譯層。
聲明40. 本發明概念的實施例包括根據聲明22的方法,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存 元件要求包括接收所述應用的頻寬要求;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括自所述一組可用儲存元件選擇當加以組合時能提供不小於所述應用的所述頻寬要求的總頻寬的儲存元件。
聲明41. 本發明概念的實施例包括根據聲明22的方法,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的潛時要求;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括自所述一組可用儲存元件選擇當加以組合時能提供不大於所述應用的所述潛時要求的平均潛時的儲存元件。
聲明42. 本發明概念的實施例包括一種包括有形儲存媒體的製品,所述有形儲存媒體上儲存有非暫時性指令,所述非暫時性指令在由機器執行時使得:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求;辨識一組可用儲存元件;以及選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集。
聲明43. 本發明概念的實施例包括根據聲明42的製品, 其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的群集大小;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括自所述一組可用儲存元件選擇儲存元件,所述可用儲存元件的所述子集中的儲存元件的數目等於所述應用的所述群集大小。
聲明44. 本發明概念的實施例包括根據聲明43的製品,所述製品更包括為所述一組可用儲存元件的所述子集建立轉譯層,以將邏輯區塊位址映射至所述一組可用儲存元件的所述子集上的物理區塊位址。
聲明45. 本發明概念的實施例包括根據聲明42的製品,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的頁面大小;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括:自所述一組可用儲存元件選擇儲存元件;以及將所述所選擇儲存元件配置成使用所述應用的所述頁面大小。
聲明46. 本發明概念的實施例包括根據聲明45的製品,所述製品更包括為所述一組可用儲存元件的所述子集建立轉譯 層,以根據所述頁面大小將邏輯區塊位址映射至物理區塊位址。
聲明47. 本發明概念的實施例包括根據聲明45的製品,其中:接收所述應用的頁面大小包括接收所述應用的多個頁面大小;且將所述所選擇儲存元件配置成使用所述應用的所述頁面大小包括將所述所選擇儲存元件配置成使用所述應用的所述多個頁面大小。
聲明48. 本發明概念的實施例包括根據聲明47的製品,所述製品更包括為所述一組可用儲存元件的所述子集建立轉譯層,以根據所述多個頁面大小將邏輯區塊位址映射至物理區塊位址。
聲明49. 本發明概念的實施例包括根據聲明42的製品,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的複製因數;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括自所述一組可用儲存元件選擇儲存元件,以使每一資料能夠儲存於某一數目的儲存元件上,儲存元件的所述數目至少與所述應用的所述複製因數一樣大。
聲明50. 本發明概念的實施例包括根據聲明49的製品,所述製品更包括為所述一組可用儲存元件的所述子集建立轉譯 層,以將所述一組可用儲存元件的所述子集中的第一儲存元件作為所述一組可用儲存元件的所述子集中的第二儲存元件的複製品進行管理。
聲明51. 本發明概念的實施例包括根據聲明49的製品,所述有形儲存媒體上進一步儲存有非暫時性指令,所述非暫時性指令在由所述機器執行時使得管理節點中的所述一組可用儲存元件的所述子集中的各儲存元件之間的複製。
聲明52. 本發明概念的實施例包括根據聲明51的製品,所述有形儲存媒體上進一步儲存有非暫時性指令,所述非暫時性指令在由所述機器執行時使得藉由所述應用在各節點之間複製資料。
聲明53. 本發明概念的實施例包括根據聲明42的製品,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的持久性要求;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括將所述一組可用儲存元件中的儲存元件配置成使得資料將根據所述應用的所述持久性要求而被儲存於所述儲存元件上達臨限數量的時間。
聲明54. 本發明概念的實施例包括根據聲明53的製品,所述製品更包括為所述一組可用儲存元件的所述子集建立轉譯層,以使得所述一組可用儲存元件的所述子集上的資料對於至少 所述臨限數量的時間而言不應無效。
聲明55. 本發明概念的實施例包括根據聲明42的製品,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的持久性要求;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括選擇所述一組可用儲存元件中的儲存元件以使得將在斷電時保護資料。
聲明56. 本發明概念的實施例包括根據聲明42的製品,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收隔離要求,所述隔離要求規定所述應用應自第二應用被隔離;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括選擇所述一組可用儲存元件中的儲存元件,以使得所述一組可用儲存元件的所述子集中的無儲存元件儲存所述第二應用的資料。
聲明57. 本發明概念的實施例包括根據聲明42的製品,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的遷移命令;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組 可用儲存元件的子集包括:辨識欲被遷移資料的儲存元件;自所述一組可用儲存元件選擇第二儲存元件;以及將資料自所述儲存元件遷移至所述第二儲存元件。
聲明58. 本發明概念的實施例包括根據聲明42的製品,其中選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括自至少一個儲存元件形成虛擬儲存元件。
聲明59. 本發明概念的實施例包括根據聲明42的製品,所述有形儲存媒體上進一步儲存有非暫時性指令,所述非暫時性指令在由所述機器執行時使得為所述虛擬儲存元件建立轉譯層。
聲明60. 本發明概念的實施例包括根據聲明42的製品,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的頻寬要求;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括自所述一組可用儲存元件選擇當加以組合時能提供不小於所述應用的所述頻寬要求的總頻寬的儲存元件。
聲明61. 本發明概念的實施例包括根據聲明42的製品,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存 元件要求包括接收所述應用的潛時要求;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括自所述一組可用儲存元件選擇當加以組合時能提供不大於所述應用的所述潛時要求的平均潛時的儲存元件。
所以,考慮到本文描述的實施例的各種變更,此詳細描述和附帶資料僅僅是說明性的,並且不應限定本發明概念的範圍。藉此,作為本發明概念所主張的權利範圍是上述所有修改,而上述修改可以落在下列申請專利範圍及其等同的範圍和精神內。
110:主機/機器
145:應用/租戶
205:處理器
210:記憶體
215:網路連接件
220:儲存元件
225:租戶感知儲存共享引擎
230:租戶

Claims (31)

  1. 一種租戶感知儲存共享引擎(TASTE),包括:儲存器,用於儲存關於一組可用儲存元件的資訊;接收邏輯,自應用接收儲存元件要求,所述儲存元件要求取自包括所需容量、所需頻寬、所需潛時、所需群集大小、所需頁面大小、所需冗餘、所需平行性、所需持久性、以及所需保全性的集合;選擇邏輯,使用關於所述一組可用儲存元件的所述資訊選擇滿足所述儲存元件要求的所述一組可用儲存元件的子集;以及邏輯,使用滿足所述儲存元件要求的所述一組可用儲存元件的所選擇的所述子集分配所述應用的儲存器,其中:所述一組可用儲存元件包括至少二個物理儲存元件;所述所需容量包括所述應用請求的容量;所述所需頻寬包括所述應用請求的最小頻寬;所述所需潛時包括所述應用所容忍的最大潛時;所述所需群集大小包括指配給所述應用的儲存元件的群集數;所述所需頁面大小包括用於指配給所述應用的所述儲存元件中的每一頁面的大小;所述所需冗餘包括指示由所述應用所儲存的每一資料有多少個複本儲存在所述一組可用儲存元件中的冗餘數; 所述所需平行性包括指示多少個儲存元件組合成指派給所述應用的虛擬儲存元件的平行數;所述所需持久性包括在擦除之前可以將所述應用的資料儲存在指配給所述應用的所述存儲元件上的最短數量的時間;以及所述所需保全性包括第二應用的標識符,使得用於所述應用的資料不會與所述第二應用的第二資料一起儲存在共用儲存元件上。
  2. 如申請專利範圍第1項所述的租戶感知儲存共享引擎,其中:所述儲存元件要求包括所述應用的所述所需群集大小;且所述選擇邏輯包括用以選擇所述一組可用儲存元件的所述子集的群集選擇邏輯,所述可用儲存元件的所述子集中的儲存元件的數目等於所述所需群集大小,其中所述所需群集大小至少為二。
  3. 如申請專利範圍第2項所述的租戶感知儲存共享引擎,更包括轉譯層邏輯,所述轉譯層邏輯為所述一組可用儲存元件的所述子集建立轉譯層,以將邏輯區塊位址映射至所述一組可用儲存元件的所述子集上的物理區塊位址。
  4. 如申請專利範圍第1項所述的租戶感知儲存共享引擎,其中:所述儲存元件要求包括所述應用的所述所需頁面大小;且 所述選擇邏輯包括配置邏輯,所述配置邏輯將所述一組可用儲存元件的所述子集配置成使用所述所需頁面大小。
  5. 如申請專利範圍第4項所述的租戶感知儲存共享引擎,更包括轉譯層邏輯,所述轉譯層邏輯為所述一組可用儲存元件的所述子集建立轉譯層,以根據所述所需頁面大小將邏輯區塊位址映射至物理區塊位址。
  6. 如申請專利範圍第1項所述的租戶感知儲存共享引擎,其中:所述儲存元件要求包括所述應用的所述所需冗餘;且所述選擇邏輯包括用以在所述一組可用儲存元件的所述子集中一數目的儲存元件之間複製資料的複製邏輯,所述數目等於所述所需冗餘。
  7. 如申請專利範圍第6項所述的租戶感知儲存共享引擎,更包括轉譯層邏輯,所述轉譯層邏輯為所述一組可用儲存元件的所述子集建立轉譯層,以將所述一組可用儲存元件的所述子集中的第一儲存元件作為所述一組可用儲存元件的所述子集中的第二儲存元件的複製品進行管理。
  8. 如申請專利範圍第1項所述的租戶感知儲存共享引擎,其中:所述儲存元件要求包括所述應用的所述所需持久性;且所述選擇邏輯包括持久性邏輯,以確保來自所述應用的資料在所述一組可用儲存元件的所述子集內持續存在所述最短數量的 時間。
  9. 如申請專利範圍第8項所述的租戶感知儲存共享引擎,更包括轉譯層邏輯,所述轉譯層邏輯為所述一組可用儲存元件的所述子集建立轉譯層,以使得所述一組可用儲存元件的所述子集上的資料對於至少所述最短數量的時間而言不為無效。
  10. 如申請專利範圍第1項所述的租戶感知儲存共享引擎,其中:所述儲存元件要求包括所述應用的第二所需持久性;且所述選擇邏輯包括持久性邏輯,以確保所述一組可用儲存元件的所述子集能夠在斷電時保護資料。
  11. 如申請專利範圍第1項所述的租戶感知儲存共享引擎,其中:所述儲存元件要求包括所述應用的所述所需保全性;且所述選擇邏輯包括隔離邏輯,以確保所述一組可用儲存元件的所述子集不與所述一組可用儲存元件的第二子集交疊,所述一組可用儲存元件的所述第二子集由所述第二應用使用。
  12. 如申請專利範圍第1項所述的租戶感知儲存共享引擎,其中:所述儲存元件要求包括所述應用的遷移命令;且所述選擇邏輯包括遷移邏輯,以將資料自所述一組可用儲存元件的所述子集內的第一儲存元件遷移至所述可用儲存元件的所述子集內的第二儲存元件。
  13. 如申請專利範圍第1項所述的租戶感知儲存共享引擎,更包括虛擬儲存元件邏輯,以自所述一組可用儲存元件的所述子集中的多個儲存元件形成虛擬儲存元件。
  14. 如申請專利範圍第13項所述的租戶感知儲存共享引擎,更包括用以為所述虛擬儲存元件建立轉譯層的轉譯層邏輯。
  15. 一種租戶感知儲存共享平台的方法,包括:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求,所述一組儲存元件要求取自包括所需容量、所需頻寬、所需潛時、所需群集大小、所需頁面大小、所需冗餘、所需平行性、所需持久性、以及所需保全性的集合;辨識一組可用儲存元件;以及使用關於所述一組可用儲存元件的資訊選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集;以及使用滿足所述一組儲存元件要求的所述一組可用儲存元件的所選擇的所述子集分配所述應用的儲存器,其中:所述一組可用儲存元件包括至少二個物理儲存元件;所述所需容量包括所述應用請求的容量;所述所需頻寬包括所述應用請求的最小頻寬;所述所需潛時包括所述應用所容忍的最大潛時;所述所需群集大小包括指配給所述應用的儲存元件的群 集數;所述所需頁面大小包括用於指配給所述應用的所述儲存元件中的每一頁面的大小;所述所需冗餘包括指示由所述應用所儲存的每一資料有多少個複本儲存在所述一組可用儲存元件中的冗餘數;所述所需平行性包括指示多少個儲存元件組合成指派給所述應用的虛擬儲存元件的平行數;所述所需持久性包括在擦除之前可以將所述應用的資料儲存在指配給所述應用的所述存儲元件上的最短數量的時間;以及所述所需保全性包括第二應用的標識符,使得用於所述應用的資料不會與所述第二應用的第二資料一起儲存在共用儲存元件上。
  16. 如申請專利範圍第15項所述的方法,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的所述所需群集大小;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括自所述一組可用儲存元件選擇儲存元件,所述可用儲存元件的所述子集中的儲存元件的數目等於所述應用的所述所需群集大小,其中所述所需群集大小至少為二。
  17. 如申請專利範圍第16項所述的方法,更包括為所述一 組可用儲存元件的所述子集建立轉譯層,以將邏輯區塊位址映射至所述一組可用儲存元件的所述子集上的物理區塊位址。
  18. 如申請專利範圍第15項所述的方法,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的所述所需頁面大小;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括:自所述一組可用儲存元件選擇儲存元件;以及將所選擇所述儲存元件配置成使用所述應用的所述所需頁面大小。
  19. 如申請專利範圍第18項所述的方法,更包括為所述一組可用儲存元件的所述子集建立轉譯層,以根據所述所需頁面大小將邏輯區塊位址映射至物理區塊位址。
  20. 如申請專利範圍第15項所述的方法,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的所述所需冗餘;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括自所述一組可用儲存元件選擇儲存元件,以使得每一資料能夠儲存於一數目的儲存元件上,所述儲存元件的所述數目至少與所述應用的所述所需冗餘一樣大。
  21. 如申請專利範圍第20項所述的方法,更包括為所述一組可用儲存元件的所述子集建立轉譯層,以將所述一組可用儲存 元件的所述子集中的第一儲存元件作為所述一組可用儲存元件的所述子集中的第二儲存元件的複製品進行管理。
  22. 如申請專利範圍第15項所述的方法,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的所述所需持久性;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括將所述一組可用儲存元件中的儲存元件配置成使得資料將根據所述應用的所述所需持久性而被儲存於所述儲存元件上達所述最短數量的時間。
  23. 如申請專利範圍第22項所述的方法,更包括為所述一組可用儲存元件的所述子集建立轉譯層,以使得所述一組可用儲存元件的所述子集上的資料對於至少所述最短數量的時間而言不為無效。
  24. 如申請專利範圍第15項所述的方法,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的第二所需持久性要求;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括選擇所述一組可用儲存元件中的儲存元件以使得將在斷電時保護資料。
  25. 如申請專利範圍第15項所述的方法,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的所述所需保全性;且 選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括選擇所述一組可用儲存元件中的儲存元件,以使得所述一組可用儲存元件的所述子集中無儲存元件儲存所述第二應用的所述第二資料。
  26. 如申請專利範圍第15項所述的方法,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的遷移命令;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括:辨識欲被遷移資料的儲存元件;自所述一組可用儲存元件選擇第二儲存元件;以及將資料自所述儲存元件遷移至所述第二儲存元件。
  27. 一種包括有形儲存媒體的製品,所述有形儲存媒體上儲存有非暫時性指令,所述非暫時性指令在由機器執行時使得:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求,所述一組儲存元件要求取自包括所需容量、所需頻寬、所需潛時、所需群集大小、所需頁面大小、所需冗餘、所需平行性、所需持久性、以及所需保全性的集合;辨識一組可用儲存元件;以及使用關於所述一組可用儲存元件的資訊選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集;以及 使用滿足所述一組儲存元件要求的所述一組可用儲存元件的所選擇的所述子集分配所述應用的儲存器,其中:所述一組可用儲存元件包括至少二個物理儲存元件;所述所需容量包括所述應用請求的容量;所述所需頻寬包括所述應用請求的最小頻寬;所述所需潛時包括所述應用所容忍的最大潛時;所述所需群集大小包括指配給所述應用的儲存元件的群集數;所述所需頁面大小包括用於指配給所述應用的所述儲存元件中的每一頁面的大小;所述所需冗餘包括指示由所述應用所儲存的每一資料有多少個複本儲存在所述一組可用儲存元件中的冗餘數;所述所需平行性包括指示多少個儲存元件組合成指派給所述應用的虛擬儲存元件的平行數;所述所需持久性包括在擦除之前可以將所述應用的資料儲存在指配給所述應用的所述存儲元件上的最短數量的時間;以及所述所需保全性包括第二應用的標識符,使得用於所述應用的資料不會與所述第二應用的第二資料一起儲存在共用儲存元件上。
  28. 如申請專利範圍第27項所述的製品,其中: 自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的所述所需群集大小;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括自所述一組可用儲存元件選擇儲存元件,所述可用儲存元件的所述子集中的儲存元件的數目等於所述應用的所述所需群集大小。
  29. 如申請專利範圍第28項所述的製品,更包括為所述一組可用儲存元件的所述子集建立轉譯層,以將邏輯區塊位址映射至所述一組可用儲存元件的所述子集上的物理區塊位址。
  30. 如申請專利範圍第27項所述的製品,其中:自租戶感知儲存共享引擎(TASTE)處的應用接收一組儲存元件要求包括接收所述應用的所述所需冗餘;且選擇滿足來自所述應用的所述一組儲存元件要求的所述一組可用儲存元件的子集包括自所述一組可用儲存元件選擇儲存元件,以使每一資料能夠儲存於一數目的儲存元件上,所述儲存元件的所述數目至少與所述應用的所述所需冗餘一樣大。
  31. 如申請專利範圍第30項所述的製品,更包括為所述一組可用儲存元件的所述子集建立轉譯層,以將所述一組可用儲存元件的所述子集中的第一儲存元件作為所述一組可用儲存元件的所述子集中的第二儲存元件的複製品進行管理。
TW106110050A 2016-05-24 2017-03-27 租戶感知儲存共享平台、其方法與其製品 TWI699654B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662341063P 2016-05-24 2016-05-24
US62/341,063 2016-05-24
US15/227,955 US10437486B2 (en) 2016-05-24 2016-08-03 Method and apparatus for tenant-aware storage sharing platform
US15/227,955 2016-08-03

Publications (2)

Publication Number Publication Date
TW201741889A TW201741889A (zh) 2017-12-01
TWI699654B true TWI699654B (zh) 2020-07-21

Family

ID=60417918

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106110050A TWI699654B (zh) 2016-05-24 2017-03-27 租戶感知儲存共享平台、其方法與其製品

Country Status (5)

Country Link
US (1) US10437486B2 (zh)
JP (1) JP6734807B2 (zh)
KR (1) KR102457611B1 (zh)
CN (1) CN107422983B (zh)
TW (1) TWI699654B (zh)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10642497B2 (en) * 2016-08-31 2020-05-05 International Business Machines Corporation System, method and computer program product for instantiating blocks of a solid-state disk to include different flash characteristics
US10771550B2 (en) 2016-12-28 2020-09-08 Amazon Technologies, Inc. Data storage system with redundant internal networks
US11301144B2 (en) 2016-12-28 2022-04-12 Amazon Technologies, Inc. Data storage system
US10484015B2 (en) 2016-12-28 2019-11-19 Amazon Technologies, Inc. Data storage system with enforced fencing
US10514847B2 (en) * 2016-12-28 2019-12-24 Amazon Technologies, Inc. Data storage system with multiple durability levels
US10073640B1 (en) * 2017-03-10 2018-09-11 Toshiba Memory Corporation Large scale implementation of a plurality of open channel solid state drives
US10542089B2 (en) * 2017-03-10 2020-01-21 Toshiba Memory Corporation Large scale implementation of a plurality of open channel solid state drives
US20180300253A1 (en) * 2017-04-13 2018-10-18 Advanced Micro Devices, Inc. Translate further mechanism
US10761743B1 (en) 2017-07-17 2020-09-01 EMC IP Holding Company LLC Establishing data reliability groups within a geographically distributed data storage environment
US10880040B1 (en) 2017-10-23 2020-12-29 EMC IP Holding Company LLC Scale-out distributed erasure coding
US10992967B2 (en) * 2017-12-05 2021-04-27 Sony Interactive Entertainment LLC Ultra high-speed low-latency network storage
US10423361B2 (en) * 2017-12-21 2019-09-24 Microsoft Technology Licensing, Llc Virtualized OCSSDs spanning physical OCSSD channels
US10382554B1 (en) 2018-01-04 2019-08-13 Emc Corporation Handling deletes with distributed erasure coding
US11029879B2 (en) * 2018-01-29 2021-06-08 Samsung Electronics Co., Ltd Page size synchronization and page size aware scheduling method for non-volatile memory dual in-line memory module (NVDIMM) over memory channel
US10579297B2 (en) 2018-04-27 2020-03-03 EMC IP Holding Company LLC Scaling-in for geographically diverse storage
US11023130B2 (en) 2018-06-15 2021-06-01 EMC IP Holding Company LLC Deleting data in a geographically diverse storage construct
US10936196B2 (en) 2018-06-15 2021-03-02 EMC IP Holding Company LLC Data convolution for geographically diverse storage
CN109445684B (zh) * 2018-09-20 2021-11-26 华为技术有限公司 一种分布式存储系统中硬盘的资源分配方法及设备
US11436203B2 (en) 2018-11-02 2022-09-06 EMC IP Holding Company LLC Scaling out geographically diverse storage
US10901635B2 (en) 2018-12-04 2021-01-26 EMC IP Holding Company LLC Mapped redundant array of independent nodes for data storage with high performance using logical columns of the nodes with different widths and different positioning patterns
US10931777B2 (en) 2018-12-20 2021-02-23 EMC IP Holding Company LLC Network efficient geographically diverse data storage system employing degraded chunks
US11119683B2 (en) 2018-12-20 2021-09-14 EMC IP Holding Company LLC Logical compaction of a degraded chunk in a geographically diverse data storage system
US10892782B2 (en) 2018-12-21 2021-01-12 EMC IP Holding Company LLC Flexible system and method for combining erasure-coded protection sets
US11023331B2 (en) 2019-01-04 2021-06-01 EMC IP Holding Company LLC Fast recovery of data in a geographically distributed storage environment
US10942827B2 (en) 2019-01-22 2021-03-09 EMC IP Holding Company LLC Replication of data in a geographically distributed storage environment
US10942825B2 (en) 2019-01-29 2021-03-09 EMC IP Holding Company LLC Mitigating real node failure in a mapped redundant array of independent nodes
US10866766B2 (en) 2019-01-29 2020-12-15 EMC IP Holding Company LLC Affinity sensitive data convolution for data storage systems
US10936239B2 (en) 2019-01-29 2021-03-02 EMC IP Holding Company LLC Cluster contraction of a mapped redundant array of independent nodes
US10846003B2 (en) 2019-01-29 2020-11-24 EMC IP Holding Company LLC Doubly mapped redundant array of independent nodes for data storage
US10944826B2 (en) 2019-04-03 2021-03-09 EMC IP Holding Company LLC Selective instantiation of a storage service for a mapped redundant array of independent nodes
US11029865B2 (en) 2019-04-03 2021-06-08 EMC IP Holding Company LLC Affinity sensitive storage of data corresponding to a mapped redundant array of independent nodes
US11119686B2 (en) 2019-04-30 2021-09-14 EMC IP Holding Company LLC Preservation of data during scaling of a geographically diverse data storage system
US11113146B2 (en) 2019-04-30 2021-09-07 EMC IP Holding Company LLC Chunk segment recovery via hierarchical erasure coding in a geographically diverse data storage system
US11121727B2 (en) 2019-04-30 2021-09-14 EMC IP Holding Company LLC Adaptive data storing for data storage systems employing erasure coding
US11748004B2 (en) 2019-05-03 2023-09-05 EMC IP Holding Company LLC Data replication using active and passive data storage modes
US11169723B2 (en) 2019-06-28 2021-11-09 Amazon Technologies, Inc. Data storage system with metadata check-pointing
US11209996B2 (en) 2019-07-15 2021-12-28 EMC IP Holding Company LLC Mapped cluster stretching for increasing workload in a data storage system
US11023145B2 (en) 2019-07-30 2021-06-01 EMC IP Holding Company LLC Hybrid mapped clusters for data storage
US11449399B2 (en) 2019-07-30 2022-09-20 EMC IP Holding Company LLC Mitigating real node failure of a doubly mapped redundant array of independent nodes
US11228322B2 (en) 2019-09-13 2022-01-18 EMC IP Holding Company LLC Rebalancing in a geographically diverse storage system employing erasure coding
US11449248B2 (en) 2019-09-26 2022-09-20 EMC IP Holding Company LLC Mapped redundant array of independent data storage regions
US11288139B2 (en) 2019-10-31 2022-03-29 EMC IP Holding Company LLC Two-step recovery employing erasure coding in a geographically diverse data storage system
US11435910B2 (en) 2019-10-31 2022-09-06 EMC IP Holding Company LLC Heterogeneous mapped redundant array of independent nodes for data storage
US11119690B2 (en) 2019-10-31 2021-09-14 EMC IP Holding Company LLC Consolidation of protection sets in a geographically diverse data storage environment
US11435957B2 (en) 2019-11-27 2022-09-06 EMC IP Holding Company LLC Selective instantiation of a storage service for a doubly mapped redundant array of independent nodes
US11144220B2 (en) 2019-12-24 2021-10-12 EMC IP Holding Company LLC Affinity sensitive storage of data corresponding to a doubly mapped redundant array of independent nodes
US11231860B2 (en) 2020-01-17 2022-01-25 EMC IP Holding Company LLC Doubly mapped redundant array of independent nodes for data storage with high performance
US11507308B2 (en) 2020-03-30 2022-11-22 EMC IP Holding Company LLC Disk access event control for mapped nodes supported by a real cluster storage system
US11288229B2 (en) 2020-05-29 2022-03-29 EMC IP Holding Company LLC Verifiable intra-cluster migration for a chunk storage system
US11693983B2 (en) 2020-10-28 2023-07-04 EMC IP Holding Company LLC Data protection via commutative erasure coding in a geographically diverse data storage system
US11416180B2 (en) * 2020-11-05 2022-08-16 International Business Machines Corporation Temporary data storage in data node of distributed file system
US11620068B2 (en) * 2021-01-06 2023-04-04 EMC IP Holding Company LLC Data transfer optimizations
US11593035B2 (en) * 2021-01-06 2023-02-28 Red Hat, Inc. Managing client devices associated with storage nodes in a scale-out storage system
US11847141B2 (en) 2021-01-19 2023-12-19 EMC IP Holding Company LLC Mapped redundant array of independent nodes employing mapped reliability groups for data storage
US11625174B2 (en) 2021-01-20 2023-04-11 EMC IP Holding Company LLC Parity allocation for a virtual redundant array of independent disks
US11354191B1 (en) 2021-05-28 2022-06-07 EMC IP Holding Company LLC Erasure coding in a large geographically diverse data storage system
US11449234B1 (en) 2021-05-28 2022-09-20 EMC IP Holding Company LLC Efficient data access operations via a mapping layer instance for a doubly mapped redundant array of independent nodes
US20230289084A1 (en) * 2022-03-11 2023-09-14 Samsung Electronics Co., Ltd. Systems and methods for checking data alignment between applications, file systems, and computational storage devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117580A1 (en) * 2002-12-13 2004-06-17 Wu Chia Y. System and method for efficiently and reliably performing write cache mirroring
US20130086303A1 (en) * 2011-09-30 2013-04-04 Fusion-Io, Inc. Apparatus, system, and method for a persistent object store
US20130297907A1 (en) * 2012-01-18 2013-11-07 Samsung Electronics Co., Ltd. Reconfigurable storage device
US20150134879A1 (en) * 2013-11-12 2015-05-14 Netapp, Inc. Snapshots and clones of volumes in a storage system
US20160070480A1 (en) * 2014-09-10 2016-03-10 Netapp, Inc. Technique for quantifying logical space trapped in an extent store

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493656B1 (en) 1999-02-26 2002-12-10 Compaq Computer Corporation, Inc. Drive error logging
US8296467B2 (en) * 2000-01-06 2012-10-23 Super Talent Electronics Inc. Single-chip flash device with boot code transfer capability
US6836821B2 (en) 2002-04-23 2004-12-28 Lsi Logic Corporation System and method for providing graph structuring for layered virtual volumes
US7120651B2 (en) * 2003-08-01 2006-10-10 Oracle International Corporation Maintaining a shared cache that has partitions allocated among multiple nodes and a data-to-partition mapping
US7418568B2 (en) * 2005-01-05 2008-08-26 Sap Ag Memory management technique
JP4473175B2 (ja) 2005-05-13 2010-06-02 富士通株式会社 記憶制御方法、プログラム及び装置
KR20090026941A (ko) 2007-09-11 2009-03-16 삼성전자주식회사 복수개의 비휘발성 데이터 저장매체를 구비한 저장장치의가상 파일 시스템에서 어드레스 맵핑을 수행하는 방법 및그 장치
US7856499B2 (en) 2008-03-20 2010-12-21 Sap Ag Autonomic provisioning of hosted applications with level of isolation terms
EP2535819A4 (en) * 2010-05-18 2014-02-05 Hitachi Ltd STORAGE DEVICE AND METHOD FOR MANAGING DATA
US8667171B2 (en) 2010-05-28 2014-03-04 Microsoft Corporation Virtual data center allocation with bandwidth guarantees
US8880558B2 (en) 2010-07-01 2014-11-04 International Business Machines Corporation Cloud services creation based on graph mapping
US20120188249A1 (en) 2011-01-26 2012-07-26 Raytheon Company Distributed graph system and method
KR101800444B1 (ko) 2011-03-28 2017-12-20 삼성전자주식회사 불휘발성 메모리의 제어 방법 및 그것을 포함하는 메모리 시스템
US9317336B2 (en) 2011-07-27 2016-04-19 Alcatel Lucent Method and apparatus for assignment of virtual resources within a cloud environment
CN103036930B (zh) * 2011-09-30 2015-06-03 国际商业机器公司 用于管理存储设备的方法和设备
US9720668B2 (en) 2012-02-29 2017-08-01 Red Hat, Inc. Creating and maintaining multi-tenant applications in a platform-as-a-service (PaaS) environment of a cloud computing system
US10095705B2 (en) 2012-09-24 2018-10-09 Microsoft Technology Licensing, Llc Integrated data retention policy for solid state and asymmetric access
WO2014059613A1 (zh) * 2012-10-17 2014-04-24 华为技术有限公司 降低内存系统功耗的方法和内存控制器
US20140181595A1 (en) 2012-12-20 2014-06-26 Virtium Technology, Inc. Estimating lifespan of solid-state drive using real usage model
US9065734B2 (en) 2013-03-08 2015-06-23 Telefonaktiebolaget L M Ericsson (Publ) Network bandwidth allocation in multi-tenancy cloud computing networks
US20140351505A1 (en) * 2013-05-21 2014-11-27 International Business Machines Corporation Providing data attributes to a storage manager to use to select a storage tier to use for a data set management operation
US9619381B2 (en) 2013-12-24 2017-04-11 International Business Machines Corporation Collaborative health management in a storage system
US10222988B2 (en) * 2014-04-22 2019-03-05 Hitachi, Ltd. Efficient management storage system via defining of several size units in advance
US9864749B2 (en) 2014-06-27 2018-01-09 Netapp, Inc. Methods for provisioning workloads in a storage system using machine learning and devices thereof
US9798489B2 (en) 2014-07-02 2017-10-24 Hedvig, Inc. Cloning a virtual disk in a storage platform
US10013196B2 (en) 2014-09-26 2018-07-03 EMC IP Holding Company LLC Policy based provisioning of storage system resources
US9836229B2 (en) * 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
US9710317B2 (en) 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US9954799B2 (en) 2015-05-14 2018-04-24 International Business Machines Corporation Adaptive service chain management
US10310740B2 (en) * 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
US10235473B2 (en) 2015-10-28 2019-03-19 Vmware, Inc. Methods and systems to allocate logical disk costs to virtual machines in a virtual data center

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117580A1 (en) * 2002-12-13 2004-06-17 Wu Chia Y. System and method for efficiently and reliably performing write cache mirroring
US20130086303A1 (en) * 2011-09-30 2013-04-04 Fusion-Io, Inc. Apparatus, system, and method for a persistent object store
US20130297907A1 (en) * 2012-01-18 2013-11-07 Samsung Electronics Co., Ltd. Reconfigurable storage device
US20150134879A1 (en) * 2013-11-12 2015-05-14 Netapp, Inc. Snapshots and clones of volumes in a storage system
US20160070480A1 (en) * 2014-09-10 2016-03-10 Netapp, Inc. Technique for quantifying logical space trapped in an extent store

Also Published As

Publication number Publication date
CN107422983A (zh) 2017-12-01
KR20170132651A (ko) 2017-12-04
JP2017211983A (ja) 2017-11-30
KR102457611B1 (ko) 2022-10-21
CN107422983B (zh) 2022-04-05
JP6734807B2 (ja) 2020-08-05
TW201741889A (zh) 2017-12-01
US10437486B2 (en) 2019-10-08
US20170344285A1 (en) 2017-11-30

Similar Documents

Publication Publication Date Title
TWI699654B (zh) 租戶感知儲存共享平台、其方法與其製品
US11954002B1 (en) Automatically provisioning mediation services for a storage system
US11614893B2 (en) Optimizing storage device access based on latency
CN109799951B (zh) 使用分布式的和虚拟的命名空间管理的按需存储供应
US20210182190A1 (en) Intelligent die aware storage device scheduler
EP2713262B1 (en) Hierarchy memory management
US20200387479A1 (en) Using data characteristics to optimize grouping of similar data for garbage collection
US11616834B2 (en) Efficient replication of a dataset to the cloud
JP7159069B2 (ja) メモリシステムおよび制御方法
JP2019101703A (ja) 記憶システム及び制御ソフトウェア配置方法
US20210286517A1 (en) Utilizing Allocation Shares To Improve Parallelism In A Zoned Drive Storage System
KR20200017363A (ko) 호스트 스토리지 서비스들을 제공하기 위한 NVMe 프로토콜에 근거하는 하나 이상의 호스트들과 솔리드 스테이트 드라이브(SSD)들 간의 관리되는 스위칭
US11789626B2 (en) Optimizing block allocation in a data storage system
JP2014516442A (ja) 計算機システム及びデータ管理方法
US11275509B1 (en) Intelligently sizing high latency I/O requests in a storage environment
WO2019148841A1 (zh) 一种分布式存储系统、数据处理方法和存储节点
US11409454B1 (en) Container ownership protocol for independent node flushing
US11947968B2 (en) Efficient use of zone in a storage device
US20160098302A1 (en) Resilient post-copy live migration using eviction to shared storage in a global memory architecture
TW201843591A (zh) 儲存裝置、儲存管理器與多重串流方法
US11740823B2 (en) Storage system and storage control method
KR20220083716A (ko) 블록 디바이스의 구성
JP2023010765A (ja) メモリシステム
KR20220083710A (ko) 블록 디바이스의 구성
US9785361B1 (en) Processing data access requests from multiple interfaces for data storage devices