TWI709073B - 分佈式儲存系統、分佈式儲存方法及分佈式設施 - Google Patents

分佈式儲存系統、分佈式儲存方法及分佈式設施 Download PDF

Info

Publication number
TWI709073B
TWI709073B TW105129518A TW105129518A TWI709073B TW I709073 B TWI709073 B TW I709073B TW 105129518 A TW105129518 A TW 105129518A TW 105129518 A TW105129518 A TW 105129518A TW I709073 B TWI709073 B TW I709073B
Authority
TW
Taiwan
Prior art keywords
storage
sue
distributed
block
manager
Prior art date
Application number
TW105129518A
Other languages
English (en)
Other versions
TW201729068A (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
Priority claimed from US14/941,525 external-priority patent/US9940028B2/en
Priority claimed from US14/941,512 external-priority patent/US9990304B2/en
Priority claimed from US14/941,517 external-priority patent/US9996473B2/en
Application filed by 南韓商三星電子股份有限公司 filed Critical 南韓商三星電子股份有限公司
Publication of TW201729068A publication Critical patent/TW201729068A/zh
Application granted granted Critical
Publication of TWI709073B publication Critical patent/TWI709073B/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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • 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/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity 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/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

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)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一種分佈式儲存系統、分佈式儲存方法及分佈式設施。 分佈式儲存系統包括多個器具、分佈式多模式儲存管理協調器及傳遞分佈式多模式儲存管理訊息的通信機制。多個器具的第一個可包括:多個儲存裝置,具有包括第一類型的介面及第一資訊儲存區的第一儲存分割區以及包括選擇性基礎暴露介面及儲存第二類型的資訊的第二資訊儲存區的第二儲存分割區。分佈式多模式儲存管理協調器可包括:多個多模式儲存管理系統,導引資訊至多個儲存裝置的輸送,其中協調器包括經由選擇性基礎暴露介面導引第二儲存分割區的檔案活動的多模式選擇性基礎暴露管理系統。

Description

分佈式儲存系統、分佈式儲存方法及分佈式設 施
本發明是有關於資訊儲存。
眾多電子技術(例如,數位電腦、計算器、音訊裝置、視訊裝備、電話系統及/或其類似者)在商業、科學、教育以及娛樂的大部分領域中具有增加的生產力且具有減少的成本。這些電子系統執行涉及資訊儲存系統的操作。資訊儲存操作進行的速度及容易性可對資訊儲存系統的總體效能具有顯著影響。然而,習知資訊儲存的嘗試通常涉及速度與可管理複雜度之間的反比關係。
資訊儲存系統涉及可屬於兩個類別中一個的操作。一個類別涉及與使用者起始活動相關聯的儲存操作。另一類別涉及由系統起始的管理及維護活動。這些操作進行的速度及容易性與用來儲存資訊的位址空間的類型相關聯。
對利用實體定址空間的傳統嘗試在理論上被視為以極快 速度操作,但對習知經實體定址空間中的實際管理以及維護操作的嘗試為極複雜且實際上未實施。習知邏輯位址空間的管理及維護被視為相比實體位址空間涉及較低複雜度。然而,習知邏輯位址空間的操作並不與實體位址空間一樣快速。
儘管習知儲存系統可在可能先前已被視為可接受的層級操作,但這些儲存系統愈來愈不足以滿足對改良的應用程式(application)以及平台的要求以及長期需要。對達成速度增加以及可管理複雜度兩者以使得能夠改良系統開發的習知嘗試尚未成功。
描述可包含實現不同儲存空間活動的多個不同類型的位址空間的高效及有效多模式儲存裝置。多模式選擇性基礎暴露儲存裝置可實現儲存裝置的基礎特質(underlying aspect)的選擇性暴露。在一實施例中,分佈式儲存系統包括:多個器具、分佈式多模式儲存管理協調器、以及在多個多模式儲存管理系統之間傳遞訊息且包含分佈式多模式儲存管理訊息的通信機制。多個器具中的第一個可包括:多個儲存裝置(固態硬碟(Solid-State Drive,SSD)),具有第一儲存分割區以及第二儲存分割區,第一儲存分割區包括第一類型的介面及經配置以儲存第一類型的資訊的第一資訊儲存區,第二儲存分割區包括選擇性基礎暴露(selective underlying exposure;SUE)介面及儲存第二類型的資訊的第二資訊儲存區,其中SUE介面暴露第二資訊儲存區的特質。分佈式多模式儲存管理協調器可包含導引資訊至多個儲存裝置的輸送的多 個多模式儲存管理系統,其中多個多模式儲存管理系統包含經由SUE介面以及第二儲存分割區的選定基礎特質而導引第二儲存分割區的檔案活動的多模式選擇性基礎暴露(SUE)管理系統。
訊息可使選定基礎特質跨越多個器具暴露。元資料儲存空間以及使用者資料儲存空間可跨越多個器具均質地展開。SUE映射跨越多個器具而維持且其中SUE位址空間映射的代表性幾何組態匹配於基礎實體位址空間的代表性幾何組態。冗餘可在多模式儲存管理系統的層級被控制。多個器具配置於架構中,其中架構的元件可跨越多個系統而線性地可調。分佈式多模式儲存管理協調器跨越多個儲存裝置基於選擇性基礎暴露層級而進行操作。單一個單元的失敗不會使分佈式儲存系統關機,即使節點包括一個以上的儲存裝置亦如此。自由空間帳戶處理(free space accounting)可發生在選定基礎特質區塊層級。
在一實施例中,分佈式儲存方法包括:在獨立磁碟冗餘陣列(redundant array of independent disks,RAID)組態中設置多個器具,其中多個器具中的至少一個包含多個儲存裝置;以及管理多個儲存裝置中的資訊儲存,包含將第一類型的位址空間映射至對應於基礎儲存裝置其中一個的特質的SUE位址空間中。所述管理可包含跨越RAID組態協調對多個儲存裝置中的資訊儲存的管理。映射資料在邏輯上可跨越多個儲存裝置冗餘地分佈。所述協調包含在多個器具中的第一個與多個器具中的第二個之間傳遞訊息。自由空間帳戶處理可發生在多模式儲存管理系統層級。回收(reclamation)是藉由觸發分佈式區塊挑選的主要區塊擁有者進行管理且所挑選的區塊被分佈至另一區塊。非主要區塊擁有者執 行實體掃描以及有效判定查找。
在一例示性實施中,一種分佈式設施包括:多個器具,以條帶(stripes)來儲存資訊;分佈式多模式儲存管理協調器;以及通信機制,在分佈式多模式儲存管理協調器系統與多個器具中的第二個之間傳遞訊息。多個器具中的第一個包含:多個儲存裝置,具有第一儲存分割區以及第二儲存分割區,第一儲存分割區包含第一類型的介面及經配置以儲存第一類型的資訊的第一資訊儲存區,第二儲存分割區包含SUE介面及儲存第二類型的資訊的第二資訊儲存區,其中SUE介面暴露第二資訊儲存區的特質。分佈式多模式儲存管理協調器可包含導引資訊至多個儲存裝置的輸送的多個多模式儲存管理系統,其中分佈式多模式儲存管理協調器包含多模式基礎暴露管理系統,多模式基礎暴露管理系統經由SUE介面以及第二分割區的選定基礎特質導引第二分割區的檔案活動。分佈式設施可更包括跨越多個系統的實體條帶元資料(physically striping metadata)以及使用者資料。可在比儲存裝置更高階層層級的分佈式多模式儲存管理協調器的層級,控制冗餘。失敗單元為儲存節點且單一個節點的失敗不會使分佈式設施關機,其中儲存節點包含多個器具的其中一個。
100、2720、2730、2740、2750、2891、2892、2893、2894、3591、3592、3593、3594:儲存裝置
101:SUE儲存分割區
102、381、421、501、782、924:SUE介面
103、233、243、373、383:基礎儲存區
220、350:多模式儲存裝置
230、370:第一分割區
231、371:第一類型的介面
240、380:第二分割區
241:第二類型的介面
372:第一分割區相關活動
400、620、630、640、650、750、920:多模式SSD(MM-SSD)
410、770:邏輯位址空間分割區
411、772、911、921:邏輯介面
412、423:基礎實體位址空間
413、773、912、922:FTL
420、780:SUE位址空間分割區
470、511、512、513、514、521、522、523、524、531、532、533、534、541、542、543、544:晶粒
471、472、473、474、479:區塊
502、777、787、932:實體位址空間
503、798:SUE位址區塊
505、507、508:資訊
515、517、519、528、539、1012、1014、1016、1018:實體區塊
600、700:系統
610、720、1802、1902、2002、2710:多模式儲存管理系統
611、621、631、641、651、745、775、2898:控制器
671、672、673:磁碟區
710、2701、2810、2820、2830、2840、2850、2860、2870、2880、3510、3520、3530、3540、3550、3560、3570、3580:器具
730:元資料
740、1502:使用者資料
741、771:快閃記憶體管理系統
742:SUE映射器
791、792、797:邏輯位址區塊
793、799:實體位址區塊
810~840:驅動多模式基礎暴露的方法的各操作
910、930:SSD
913、923:邏輯位址空間
925:實體位址空間
931:實體介面
1010、1110、1411、1412、1413、1414、1415:SUE區塊
1021、1022、1023:離散實體頁面
1030、1121、1122、1123、1124、1211、1212、1213、1214、1215、1591、1592、1593、1594:SUE頁面
1032、1034、1036、1038:實體頁面
1210、1311、1312、1313、1314:元頁面
1310、1410:元區塊(M區塊)
1500:SUE映射方案
1503、1504、1505:SUE可定址單元
1507、1508、1509:經壓縮SUE可定址單元
1511、1512、1513:標頭區段
1515、1517:SSD傳送區塊(STB)
1521~1528、1541~1548、1571~1578:邏輯區塊位址
15311~1538、15511~1558、15811~1588:經邏輯定址區塊
1602:儲存系統
1604、2713:處理器
1606、2714、2715、2717、2718:記憶體
1608:網路介面
1610:輸入/輸出裝置
1612:顯示裝置
1614、2719:匯流排
1616、2032:非揮發性記憶體裝置
1618:區域資料鏈路
1702~1716:將邏輯位址空間映射至SUE位址空間的方法的各操作
1804:SUE儲存管理器
1806:邏輯儲存管理器
1808、1916、2110:回收管理器
1810、1918:儲存陣列管理器
1904、2004:資料對準單元(DAU)
1906:SUE儲存存取管理器
1908:資料壓縮管理器
1910:磁碟區映射引擎
1912、2010:緩衝管理器
1914:元區塊管理器
1920:邏輯儲存存取管理器
2006:使用者區域存取管理器(UAAM)
2008:使用者區域映射引擎(UAME)
2012:系統區域存取管理器(SAAM)
2014:元區塊管理器(MBM)
2016:元區塊資訊管理器(MBI)
2018:儲存裝置控制管理器(SCM)
2020:儲存裝置存取管理器(SAM)
2022:全域狀態管理器(GSM)
2024:全域錯誤管理器(GEM)
2026:系統狀態管理器
2028:系統日誌記錄及統計管理器
2030:目標裝置
2102:讀取管理器(RM)
2104:寫入管理器(WM)
2106:資料壓縮管理器(DC)
2108:資料解壓縮管理器(DD)
2112:自由空間帳戶管理器(FSA)
2114:流量控制管理器(FC)
2116:服務品質管理器(QoS)
2202:磁碟區管理器(VM)
2204:映射頁面讀取管理器(MPRM)
2206:映射頁面寫入管理器(MPWM)
2208:映射頁面快取管理器(MPCM)
2302:回收元區塊挑選器(RCMBP)
2304:元區塊狀態管理器(MBSM)
2402:儲存裝置日誌記錄及統計管理器(SLS)
2404:S區塊抹除引擎(SBEE)
2406:儲存裝置錯誤管理器(SEM)
2502:邏輯存取管理器(SLA)
2504:RAID管理器(RAID)
2506:讀取查找引擎(RLE)
2508:儲存初始化管理器(SI)
2602:電源失敗管理器(PFM)
2604:錯誤及損毀管理器(PFCM)
2705、2890、3590:網路
2711、2712:埠
2800、2900:分佈式系統
3599:分佈式陣列
2911、2912、2913、2914:儲存節點
2920:全域命名空間
2930:外部連接性機制
2941:FTP用戶端
2942:ISCI組件
2943:NFS組件
2944:CIFS組件
2945:Web組件
2950:節點連接性機制
3010~3050、3080:區塊生命週期的各區塊
3110、3120、3130、3140:節點
3111~3114、3121、3122~3124、3131~3134、3141~3144:固態磁碟機(SSD)
3151:原始SUE元區塊
3152~3155:新區塊
3300:寫入行程
3310~3370:寫入行程的各步驟
3400:寫入分配行程
3410~3430:寫入分配行程的各步驟
3600:寫入資料傳送行程
3610~3630:寫入資料傳送行程的各步驟
3800:寫入映射更新行程
3810~3840:寫入映射更新行程的各步驟
4000:寫入自由空間帳戶行程
4010~4040:寫入自由空間帳戶行程的各步驟
4200:寫入完成行程
4210~4240:寫入完成行程的各步驟
4400:回收初始化行程
4500:回收行程
4510~4570:回收行程的各步驟
1)~6):寫入分配行程操作各步驟
7)~10):寫入資料傳送行程操作各步驟
11)~14):寫入映射更新行程操作各步驟
15)~18):寫入自由空間帳戶行程各步驟
19)~22):寫入完成行程操作各步驟
51):區塊已變成冷區塊且必要時請求區塊挑選的來自器具3520的廣播
52):其他器具執行區塊挑選且將結果發送回至器具3520
53):器具3520可選擇區塊
54):所挑選區塊的例示性廣播
55):器具3540基於判定資料是否有效的標頭而向器具3510發出映射查找
57):器具3540處理來自器具3510的映射回應
71)~74):回收寫入行程各步驟
併入於本說明書中且形成其一部分的隨附圖式經包含以用於對本發明的原理的例示性說明,且並不意欲將本發明限於在其中所說明的特定實施。圖式並未按比例繪製,除非另外特定地指示。
圖1為說明根據一個實施例的具有SUE儲存分割區的例示性儲存裝置的方塊圖。
圖2為說明根據一個實施例的例示性多模式儲存裝置的方塊圖。
圖3為說明根據一個實施例的另一例示性多模式儲存裝置的方塊圖。
圖4為說明根據一個實施例的例示性多模式固態磁碟機(multimode solid state drive;MM-SSD)的方塊圖。
圖5為說明根據一個實施例的將位址空間資訊轉譯成邏輯位址空間資訊的例示性程序的方塊圖。
圖6為說明根據一個實施例的例示性系統的方塊圖。
圖7為說明根據一個實施例的系統的方塊圖。
圖8為描述根據一個實施例的驅動多模式基礎暴露的方法的流程圖。
圖9為說明例示性多模式SSD裝置的方塊圖。
圖10為描繪根據本發明的實施例的在多模式儲存裝置的使用者區域中用於儲存的例示性SUE區塊以及對應的SUE頁面的方塊圖。
圖11為描繪根據本發明的實施例的在多模式儲存裝置的使用者區域中用於儲存的使用者儲存空間的例示性SUE區塊以及對應的SUE頁面的方塊圖。
圖12為描繪根據本發明的實施例的在多模式儲存裝置的使用者區域中用於儲存的例示性SUE元頁面(metapage)以及對應的SUE頁面的方塊圖。
圖13為描繪根據本發明的實施例的在多模式儲存裝置的使用者區域中用於儲存的例示性SUE元區塊(metablock)以及對應的SUE元頁面的方塊圖。
圖14為描繪根據本發明的實施例的在多模式儲存裝置的使用者區域中用於儲存的另一例示性SUE元區塊以及對應的SUE區塊的方塊圖。
圖15為描繪根據本發明的實施例的可由多模式儲存系統實施以提供自邏輯位址至SUE位址的位址映射的例示性SUE映射方案的方塊圖。
圖16為描繪可實施圖15的SUE映射方案的例示性儲存系統的示意圖。
圖17為表示根據本發明的實施例的將邏輯位址空間映射至SUE位址空間的例示性方法的流程圖。
圖18為說明根據本發明的實施例的使用SUE定址方案以允許儲存系統來定址儲存裝置中的位址邏輯及SUE儲存空間的例示性多模式儲存管理系統的示意圖。
圖19為說明根據本發明的實施例的使用SUE定址方案以允許儲存系統來定址儲存裝置中的位址邏輯及SUE儲存空間的另一例示性多模式儲存管理系統的示意圖。
圖20為說明根據本發明的實施例的使用SUE定址方案以允許儲存系統來定址儲存裝置中的位址邏輯及SUE儲存空間的又一例示性多模式儲存管理系統的示意圖。
圖21為說明根據本發明的實施例的可由多模式儲存管理系統實施的使用者區域存取管理器(user area access manager; UAAM)的示意圖。
圖22為說明根據本發明的實施例的可由多模式儲存管理系統實施的使用者區域映射引擎(user area mapping engine;UAME)的示意圖。
圖23為說明根據本發明的實施例的可由多模式儲存管理系統實施的元區塊管理器(metablock manager;MBM)的示意圖。
圖24為說明根據本發明的實施例的可由多模式儲存管理系統實施的儲存裝置控制管理器(storage device control manager;SCM)的示意圖。
圖25為說明根據本發明的實施例的可由多模式儲存管理系統實施的儲存裝置存取管理器(storage device access manager;SAM)的示意圖。
圖26為說明根據本發明的實施例的可由多模式儲存管理系統實施的全域狀態管理器(global state manager;GSM)的示意圖。
圖27為根據一個實施例的耦接至網路的例示性器具的方塊圖。
圖28為根據一個實施例的分佈式系統的方塊圖。
圖29為根據一個實施例的分佈式系統的方塊圖。
圖30為根據一個實施例的區塊生命週期的流程圖。
圖31為根據一個實施例的分佈式系統元區塊的方塊圖。
圖32為根據一個實施例的在添加以及移除節點時的一致性散列法(hash)利用的方塊圖。
圖33為根據一個實施例的例示性寫入行程(process)的流程圖。
圖34為根據一個實施例的例示性寫入分配行程的流程圖。
圖35為根據一個實施例的實施寫入分配行程操作的系統的一個例示性實施的方塊圖。
圖36為根據一個實施例的例示性寫入分配行程的流程圖。
圖37為根據一個實施例的實施寫入分配行程操作的系統的一個例示性實施的方塊圖。
圖38為根據一個實施例的例示性寫入映射更新行程的流程圖。
圖39為根據一個實施例的實施寫入映射更新行程操作的系統的一個例示性實施的方塊圖。
圖40為根據一個實施例的例示性寫入自由空間帳戶處理行程的流程圖。
圖41為根據一個實施例的實施寫入自由空間帳戶處理行程操作的系統的一個例示性實施的方塊圖。
圖42為根據一個實施例的例示性寫入完成行程的流程圖。
圖43為根據一個實施例的實施寫入完成行程操作的系統的一個例示性實施的方塊圖。
圖44為根據一個實施例的例示性回收初始化行程的方塊圖。
圖45為根據一個實施例的例示性回收行程的流程圖。
圖46為繪示區塊已變成冷區塊且請求區塊挑選是必要的來自器具的廣播的方塊圖。
圖47為繪示執行區塊挑選且將結果發送回至器具的其他器具的方塊圖。
圖48為說明所挑選的區塊的例示性廣播的方塊圖。
圖49為說明基於判定資料是否為有效的標頭將映射查找發出至器具的器具的方塊圖。
圖50為說明處理(handle)來自另一器具的映射回應的器具的方塊圖。
圖51為說明根據一個實施例的回收寫入行程的方塊圖。
〔相關申請案〕
本申請案為以下先前申請案的部分接續案且主張其權益:2015年11月13日申請的名稱為「多模式儲存管理系統(Multimode Storage Management System)」的美國申請案第14/941,512號;2015年11月13日申請的名稱為「多模式儲存裝置(A Multimode Storage Device)」的美國申請案第14/941,525號;以及2015年11月13日申請的名稱為「選擇性基礎暴露儲存映射(Selective Underlying Exposure Storage Mapping)」的美國申請案第14/941,517號;所述申請案全部以引用的方式併入本文中。
提供所有上述特徵以及以下描述以輔助理解本揭露內容。亦即,本揭露內容不應解釋為限於本文中所闡述的「實例」實施例,且可以不同形式體現。以下實施例僅為用於充分揭露本發明的實例,且經描述以向熟習此項技術者提供本發明概念。因此,若存在實施本揭露內容的組件的許多方式,則應理解,可藉由所述方式中的任一者或其類似物中的任一者實施本揭露內容。
若在本揭露內容中提及任何組態包含/包括特定組件或任何行程包含/包括特定操作,則此情況意謂可更包含其他組件或其他操作。亦即,本文中所使用的術語僅意欲描述特定實例實施例,且並不意欲限制本揭露內容的範疇。另外,經提供以輔助理解本揭露內容的所描述實例包含其補充實施例。
本文中所使用的術語具有熟習此項技術者一般將理解的含義。常用術語在本揭露內容的上下文中應被解釋含義一致。另外,本文中所使用的術語不應在過度理想或正式意義上解譯,除非本文中明確地如此定義。
描述可使用多個不同類型的位址空間及位址空間活動的高效及有效多模式儲存方法。在一些實施例中,多模式選擇性基礎暴露(selective underlying exposure;SUE)儲存裝置實現對儲存裝置的一些基礎特質的選擇性暴露而不暴露其他基礎特質。多模式儲存及SUE方法可改良效能同時將複雜度限於可管理範疇。
在一些例示性實施中,可選擇性地暴露實體位址空間的基礎特質。可實施整個儲存階層方法,且可將一個階層層級的基礎特質選擇性地暴露於另一階層層級。選擇性暴露可經由位址空間組態及位址空間之間的映射發生。經選擇性暴露的基礎特質可較高效且有效地實施各種活動,所述活動在不同於具有暴露基礎特質的階層層級的階層層級被執行。各種活動可包含儲存管理操作。應瞭解,多模式儲存及SUE方法可包含多種組態及實施。
在下文中,以下將參看隨附圖式描述本揭露內容的實例實施例。
I.多模式儲存裝置
圖1為說明根據一個實施例的包含選擇性基礎暴露(SUE)儲存分割區101的例示性的儲存裝置100的方塊圖。SUE儲存分割區101可包含選擇性基礎暴露(SUE)介面102以及基礎儲存區103。
基礎儲存區103可儲存資訊,且SUE介面102可選擇性地將基礎儲存區103自身的特質(例如,特性、特徵、功能或其類似者)(例如,與尺寸、代表性幾何結構、管理功能、寫入操作、抹除操作或其類似者相關的實體特質)暴露於外部組件或儲存系統階層層級(圖中未示)。暴露可與儲存於基礎儲存區103中的資訊(使用者資料及元資料)的特質相關聯。SUE儲存分割區101可暴露基礎特質(例如,特性、特徵、功能或其類似者)的一部分。
在暴露基礎特質的一部分的一個例示性實施中,相比並未選擇性暴露基礎特質的一部分的系統,可較高效地(例如,較快、較少頻寬以及較少功率消耗)執行與所暴露的特質相關聯的活動(例如,自由空間管理、用於自由空間用途的回收及調節、過度佈建(over provisioning)、修整操作、功率循環或其類似者)。可以比暴露較多或所有基礎特質的方法低的複雜度而執行活動。
在一些實施例中,基於比較或速度與複雜度的平衡而可判定對暴露基礎特質的哪一部分的選擇。應瞭解,SUE儲存分割區101可包含於具有單一個分割區的單模式儲存裝置中,或SUE儲存分割區101可包含於具有多個分割區的多模式儲存裝置中。
圖2為說明根據一個實施例的例示性多模式儲存裝置220的方塊圖。儲存裝置220可包含第一分割區230及第二分割區 240。
應瞭解,多個模式及對應的分割區可與多種事物相關聯或基於多種事物。各種事物可包含基礎儲存區的不同暴露、不同位址空間(例如,邏輯、虛擬或實體)、不同儲存管理模式(例如,內部管理及外部管理)、不同基礎儲存資訊(例如,元資料及使用者資料)等。內部管理及外部管理可包含儲存裝置管理系統組件及操作(例如,快閃記憶體管理系統(flash management system;FMS)、固態裝置管理系統或其類似者)。分割區及對應組件亦可為不同類型。
多模式儲存裝置220中的分割區及對應介面可與不同類型的位址空間(例如,邏輯位址空間及選擇性基礎暴露(SUE)位址空間)相關聯。多模式儲存裝置220中的一個以上的分割區以及對應介面亦可與同一類型的位址空間相關聯(例如,多模式儲存裝置220中的一個以上的分割區以及對應介面可與SUE位址空間相關聯)。
第一分割區230可包含第一類型的介面231及基礎儲存區233。第二分割區240可包含第二類型的介面241及基礎儲存區243。在一些實施例中,第一分割區230可為第一類型的位址空間分割區(例如,邏輯位址空間分割區),且第二分割區240可為第二類型的位址空間分割區(例如,SUE位址空間分割區及虛擬位址空間分割區)。應瞭解,分割區可為SUE儲存分割區。
圖3為說明根據一個實施例的另一例示性多模式儲存裝置350的方塊圖。多模式儲存裝置350可包含第一分割區370及第二分割區380。
在一些實施例中,第一分割區370可為第一類型的位址空間分割區,且第二分割區380可為SUE位址空間分割區。第一分割區370可包含第一類型的介面371及基礎儲存區373。第二分割區380可包含SUE介面381及基礎儲存區383。應瞭解,像是第一分割區相關活動372(例如,FMS)的一些活動可針對一個分割區在內部(例如,在多模式儲存裝置350中)執行,且可針對另一分割區在外部(圖中未示)執行。
不同類型的資訊可儲存於不同分割區中。在一些實施例中,可存在兩種類型的資訊,例如,元資料及使用者資料。使用者資料主要可由使用者應用程式產生,而元資料主要可以是與使用者資料相關聯的輔助資訊(例如,檔案在儲存系統階層中的位置、檔案中的內容的大小、存取時間、修改時間、使用者身份(identity;ID)或其類似者)。第一快閃記憶體管理系統可集中於管理元資料。元資料又可用於管理使用者資料的儲存。
應瞭解,相比與管理或維護活動相關聯的系統操作,儲存系統可以不同方式導引或實施與使用者起始活動相關聯的操作。舉例而言,自使用者觀點來看,使用者起始的讀取或寫入可被導引至特定位址或位置,而自系統觀點來看,系統操作可被導引至實體區塊及頁面。
亦應瞭解,多模式儲存裝置350可包含多種組態及實施。在一些實施例中,多模式儲存裝置350可為固態裝置。多模式儲存裝置350可包含快閃記憶體組件(例如,反及(NAND)類型的快閃記憶體組件、反或(NOR)類型的快閃記憶體組件或其類似者)。
圖4說明根據一個實施例的例示性多模式固態磁碟機(multimode solid state drive;MM-SSD)400的方塊圖。多模式固態磁碟機(SSD)400可為多模式儲存裝置的一個例示性實施。多模式固態磁碟機400可包含邏輯位址空間分割區410、可包含快閃記憶體轉譯邏輯(flash translation logic;FTL)413的邏輯介面411、基礎實體位址空間412、SUE位址空間分割區420、SUE介面421以及基礎實體位址空間423。
邏輯位址空間分割區410可接收及儲存經邏輯定址的系統資料(例如,元資料),且SUE位址空間分割區420可接收根據基礎暴露位址空間而定址的使用者資料(例如,應用程式資料)。使用者資料可儲存在可包含快閃記憶體儲存組件(例如,不同類型的浮動閘電晶體)的基礎實體位址空間423中。快閃記憶體儲存組件可配置成多種組態及粒度(granularity)。舉例而言,快閃記憶體儲存組件可配置為多個晶粒(die),且多個晶粒當中的晶粒470可包含區塊473、區塊479以及區塊內的頁面。
在一些實施例中,SUE介面421可暴露基礎實體位址空間423的特質。可藉由協調使用者資料定址與MM-SSD 400的基礎操作而暴露基礎實體位址空間423的選擇性特質。協調可與基礎實體位址空間423的管理操作的暴露相關聯。基礎實體儲存管理特質可包含一起管理(例如,在單一個操作中、作為單一個管理單元、在區塊集合中、在頻帶中以及回應於單一個管理命令)的多個基礎實體位址區塊(例如,區塊471、472、473以及474)的群組。
圖5為說明根據一個實施例的將位址空間資訊轉譯成邏 輯位址空間資訊的例示性程序的方塊圖。SUE位址區塊503可包含與各種管理及維護操作相關聯的資訊(例如,505、507以及508)。實體位址空間502可包含多個晶粒(511、512、513、514、521、522、523、524、531、532、533、534、541、542、543以及544)。每一晶粒可包含多個經定址的實體區塊(例如,515及519),且每一經定址的實體區塊可包含多個實體位址頁面。
實體位址空間502可基於實體區塊及實體頁面而存取位址儲存位置。SUE介面501可接收SUE位址區塊503資訊,且可將所接收的資訊轉譯或重新組態成與實體位址空間502相容的組態。SUE位址區塊503資訊可對應於實體管理操作中所涉及的資訊。
在一些實施例中,可將管理及維護操作導引至實體位址空間502中的實體區塊(例如,實體區塊515、519以及539)。可將管理操作導引至實體位址空間或實體層級管理單元。實體層級管理單元可包含管理實質上同時被管理的多個位址、頁面、區塊等(例如,回應於管理操作或命令)。舉例而言,可將抹除操作導引至來自每一晶粒的實體區塊(類似於區塊515以黑色繪示)。
由於SUE位址區塊503經配置以匹配實體區塊,因此用於每一對應實體區塊的每一資訊片(例如,505、507以及508)可包含於SUE位址區塊503中。在一些例示性實施中,SUE介面501可接收SUE位址區塊503資訊,可將資訊505、507以及508識別為分別對應於實體區塊515、517以及528,且可相應地執行對應的管理及維護操作。在一些實施例中,可對多個實體區塊中的資訊執行抹除管理操作,且可對頁面中的資訊執行寫入操作。
兩個位址空間的幾何結構亦可不同。在一些實施例中,邏輯位址空間可為單維(例如,邏輯區塊位址(logical block address;LBA)偏移(offset)如何對準),且實體位址空間可為多維,包含諸如錯誤校正碼(error correction code;ECC)、實體頁面、實體區塊、實體晶粒等(包含其中的一些或子集)的各種特質。SUE位址空間可為一維或為有限或減少的維度數。在SUE位址空間的一些例示性實施中,基礎實體位址空間的維度可抽象化成單維或減少的維度數。與基礎實體位址空間的管理活動(例如,回收/廢棄項目收集、功率循環或其類似者)相關聯的選定維度(例如,區塊及頁面)可抽象化至SUE位址空間中,而基礎實體位址空間的其他特質或活動(例如,ECC)可不被抽象化至SUE位址空間中。
應瞭解,基礎特質的選擇性暴露可包含在將使用者資料遞送至MM-SSD 400之前由整個系統中的其他組件(圖中未示)而非MM-SSD 400執行的協調。在一些實施例中,MM-SSD 400可耦接至在整個系統階層的不同層級進行操作的管理組件。
圖6為說明根據一個實施例的系統600的方塊圖。系統600可包含以通信方式耦接至多模式儲存管理系統610的多個MM-SSD(例如,620、630、640以及650)。
應瞭解,一些活動(例如,一些儲存管理操作以及快閃記憶體管理系統操作)可由多模式儲存管理系統610控制,且其他活動(例如,其他儲存管理操作以及快閃記憶體管理系統操作)可由MM-SSD 620、630、640以及650控制。在一些實施例中,MM-SSD 620、630、640以及650可分別包含可控制或導引 MM-SSD 620、630、640以及650的一些活動的控制器621、631、641以及651,而多模式儲存管理系統610可包含可控制或導引MM-SSD 620、630、640以及650的一些活動的控制器611。
在一些例示性實施中,控制器621、631、641以及651可分別控制或導引MM-SSD 620、630、640以及650中的第一分割區的活動,且控制器611可控制或導引MM-SSD 620、630、640以及650中的第二分割區的活動。控制器611可經由選擇性基礎暴露介面控制MM-SSD 620、630、640以及650中的活動。
在一些實施例中,系統600可包含多個磁碟區(例如,671、672以及673)。在一些例示性實施中,系統600可包含使用者空間,且使用者空間可映射至多個磁碟區中且儲存空間可作為多個磁碟區呈現給使用者。應瞭解,磁碟區可具有不同大小。亦應瞭解,不同大小的SUE可定址單元可與多個磁碟區相關聯。
圖7為說明根據一個實施例的系統700的方塊圖。系統700可包含多模式SSD(MM-SSD)750,多模式SSD(MM-SSD)750以通信方式耦接至包含於器具710中的多模式儲存管理系統720。器具710可為各種電腦/電子器具(裝置)中的任一者。應瞭解,其他多模式SSD可耦接至多模式儲存管理系統720。系統700可管理元資料730及使用者資料740的儲存。
多模式儲存管理系統720可包含控制器745。控制器745可包含快閃記憶體管理系統741(用於使用者資料)及SUE映射器742。
多模式SSD 750可包含邏輯位址空間分割區770及SUE位址空間分割區780。邏輯位址空間分割區770可包含實體位址空 間777以及可包含快閃記憶體管理系統771(用於元資料)的控制器775。快閃記憶體管理系統771可包含邏輯介面772,邏輯介面可包含FTL 773。實體位址空間777可包含NAND快閃記憶體。SUE位址空間分割區780可包含SUE介面782以及可包含NAND快閃記憶體的實體位址空間787。
元資料730資訊可在邏輯位址區塊791中被接收,且在邏輯位址區塊792中被轉送,且自多模式管理系統720遞送至邏輯位址空間分割區770。應瞭解,邏輯位址區塊791與792可相同(例如,邏輯位址區塊791可不變且簡單地轉送至邏輯位址空間分割區770)。
邏輯介面772可將與元資料相關聯的邏輯區塊位址(LBA)轉譯成與實體位址空間777相關聯的實體位址區塊793。FMS 771可導引與實體位址空間777相關聯的儲存管理及維護操作。元資料可儲存於實體位址空間777的NAND快閃記憶體中。
邏輯位址區塊797中的使用者資料可被轉送至FMS 741。由於經由SUE介面782暴露實體位址空間787的基礎特徵以及特性,因此FMS 741可導引與實體位址空間787的基礎特徵以及特性相關聯的快閃記憶體管理及維護操作。SUE映射器742可將邏輯位址區塊797映射至SUE位址區塊798。
SUE位址區塊798又可由選擇性基礎暴露(SUE)介面782轉譯成與包含於實體位址空間787中的NAND快閃記憶體組件相關聯的實體位址區塊799(例如,類似於圖5中的517及519)。應瞭解,邏輯位址區塊可具有與SUE位址區塊不同的大小,SUE位址區塊又可具有與實體位址區塊不同的大小。
相比習知方法,上文在階層層級中執行各種活動促進較高效且便利的管理。習知方法在處理影響多個層的活動時靈活性受限。一些習知方法必須在多個層級上執行活動,從而導致對總體效能(例如,日誌上日誌(log-on-log),在驅動層級的FMS及在系統層級的FMS)的迅速增長的不利影響。
舉例而言,在磁碟陣列(獨立磁碟冗餘陣列)儲存系統中,存在需要一起管理(例如,資料儲存以及對應的同位(parity)儲存)的數個項目,數個項目在上部儲存階層層級(例如,磁碟陣列系統管理層級)以及下部儲存階層層級(例如,儲存驅動層級)兩者處產生影響。資訊的生命週期針對每一層級可不同(例如,使用者可能想要覆寫資訊,但磁碟陣列系統(raid system)可能仍需要資訊用於同位重新計算),從而導致驅動層級為使用者寫入「新」資料,但系統層級仍為磁碟陣列系統保留「舊」資訊。此情形產生寫入放大因子而不具有進行修整能力。
圖8為描述根據一個實施例的驅動多模式選擇性基礎暴露(multimode selective underlying exposure;MM-SUE)的方法的流程圖。
相比無磁碟機過度佈建(例如,HDD)的直接覆寫系統,具有7%過度佈建的磁碟機(例如,SSD)作用起來困難15倍,另外相比無系統過度佈建的系統,具有7%過度佈建的磁碟機(例如,SSD)作用起來亦困難15倍,總計困難225(15×15)倍。允許將FMS上移至上部儲存階層層級的多模式儲存裝置促進回減(例如,7%過度佈建相比無過度佈建的系統在困難僅15倍的範圍內起作用,且28%過度佈建在相比無過度佈建的系統在困難僅3 倍的範圍內起作用),從而導致寫入放大因子的減小。在一些例示性實施中,用以導引來自上部儲存階層層級的管理操作的選定基礎位址區塊及頁面可與基礎實體層級協調或匹配基礎實體層級。此情形允許在使用者層級的資訊的生命週期變得不同於在系統層級的資訊的生命週期,但自管理觀點來看,兩個生命週期可對準為相同(例如,使用者層級處的生命週期的持續時間以及系統層級處的生命週期的持續時間可對應於使用者空間的使用以及抹除)。
在操作810中,可將裝置的第一部分配置或指定為用於儲存第一類型的資訊的第一區。在一些實施例中,第一區可為元資料區(metadata region),且第一類型的資訊可為元資料(metadata)。錯誤校正碼(ECC)大小可變化。
在操作820中,可基於第一位址空間資訊執行第一類型介面操作。在一些例示性實施中,第一區可為元資料區,且第一類型的資訊可為元資料。在一些實施例中,第一類型介面可為邏輯位址空間介面,且可基於經邏輯定址的資訊而執行操作。邏輯介面操作可包含快閃記憶體轉譯邏輯(FTL),包括:接收元資料及邏輯位址;以及將在系統層級組態處可見的位址區塊轉譯成實體層級組態處的位址區塊。
在操作830中,將裝置的第二部分配置或指定為用於儲存第二類型的資訊的第二區。在一些實施例中,第二區可為使用者資料區,且第二類型的資訊可為使用者資料。SUE位址空間可抽象化或移除與實體位址空間相關聯的複雜度,同時仍暴露與基礎實體位址空間組態的關係或對應性。在一些例示性實施中,實 體空間維度可抽象化成SUE位址頁面維度及SUE位址區塊維度。實體位址空間可藉由SUE位址來抽象化。
在操作840中,可基於第二位址空間資訊執行第二類型介面操作,其中第二類型介面可選擇性地暴露基礎特質。第二位址空間資訊可為選擇性基礎暴露(SUE)位址空間資訊,其中SUE位址空間資訊可對應於基礎特質。基礎特質可包含實體位址空間幾何結構的代表性幾何結構或維度。SUE介面可暴露與基礎系統管理操作(例如,自由空間管理、用於自由空間用途的回收及調節)相關聯的維度。元資料區中的過度佈建的百分比可不同於使用者資料區中的過度佈建的百分比。
圖9為說明根據一個實施例的例示性多模式SSD 920的方塊圖。在圖9中,多模式SSD 920與經邏輯定址的SSD 910及經實體定址的SSD 930處的習知嘗試形成對比。
經邏輯定址的SSD 910可包含邏輯介面911、FTL 912以及邏輯位址空間913。經實體定址的SSD 930可包含實體介面931以及實體位址空間932。多模式SSD 920可包含邏輯介面921、FTL 922、邏輯位址空間923、SUE介面924以及實體位址空間925。
多模式SSD 920促進磁碟機的基礎特質的便利及選擇性暴露。不同於並不充分暴露或具有過高複雜度的習知方法,多模式SSD 920允許在不具有不當複雜度的情況下進行適量暴露。
然而,習知SSD實際上通常並非良好的線性位址空間,確切而言,其通常具有含有快閃記憶體晶片的集束的控制器,快閃記憶體晶片具有晶粒,所述晶粒經配置而以由具有待儲存於電晶體的群組或串中的資料的頁面組成的區塊操作。經實體定址的 SSD 930嘗試暴露儲存媒體的所有基礎實體位址特質,從而允許視為極快速操作的操作(例如,相較於經邏輯定址的SSD 910),但會產生極複雜的方法。經邏輯定址的SSD 910具有藉由隱藏儲存媒體的特質的所有或幾乎所有基礎細節的方案而被視為單一個線性平面映射空間的空間,然而,嘗試將資料最終儲存於具有許多被隱藏基礎細節的實體區中使系統減慢(例如,相較於經實體定址的SSD 930)。
多模式SSD 920促進FMS操作的便利及靈活組態及實施。多模式SSD 920可針對邏輯位址空間923主要在多模式SSD 920的內部控制器(例如,圖7的控制器775)中執行FMS操作,而針對實體位址空間925的FMS操作主要可在多模式SSD 920外部的控制器(例如,圖7的控制器745)中在系統層級處執行。
分裂或劃分多模式SSD 920的FMS操作的能力不同於下述FMS操作方法,即,用於不允許FMS操作的分裂或劃分的SSD 910以及SSD 930的FMS操作方法。經邏輯定址的SSD 910的FMS操作主要是在經邏輯定址的SSD 910的內部控制器中執行,而經實體定址的SSD 930的FMS操作主要是在經實體定址的SSD 930外部的控制器中在系統層級處執行。
在一些實施例中,多模式SSD 920可選擇性地暴露一些基礎位址空間特徵,且經邏輯定址的SSD 910及經實體定址的SSD 930並不促進選擇性地暴露一些基礎位址空間特徵,且亦不暴露其他特徵。在一些實施例中,將基礎特質暴露於外部FMS(例如,多模式儲存管理系統720)可涉及映射基礎特質的選定暴露。
II.選擇性基礎暴露(SUE)映射
本發明的另一實施例實施選擇性基礎暴露(SUE)映射方案,以產生自儲存系統中用於使用者資料的邏輯位址空間至SUE位址空間的映射。SUE映射方案可選擇性地暴露基礎實體儲存媒體的顯著特徵以便准許某些儲存媒體管理功能跨越多個儲存裝置在系統層級處而非在個別儲存裝置層級處執行。
舉例而言,一些實施例可實現跨越儲存器具中的多個NAND快閃非揮發性記憶體裝置而選擇性地暴露使用者位址空間的特質。SUE映射方案的SUE頁面及區塊可與每一個實體NAND快閃非揮發性記憶體裝置中的共同地管理為單元的對應實體頁面及區塊對準。在SUE映射方案中並不區分實體NAND快閃非揮發性記憶體裝置中的個別晶粒,但其仍然間接地反映於SUE區塊大小中。
儲存裝置的實體頁面以及區塊與SUE映射方案的SUE頁面以及區塊之間的相關性允許在系統層級處跨越儲存系統中的所有NAND快閃非揮發性記憶體裝置協調及實施某些NAND快閃記憶體管理功能,諸如抹除、程式化、回收(廢棄項目收集)、自由空間管理或其類似者。某些儲存媒體管理功能的系統層級實施可提供關於儲存資源佈建的有利效率。
再次參看圖3,可結合在本揭露內容中描述的SUE映射方案實施多模式儲存裝置(例如,350、400、620),諸如NAND快閃非揮發性記憶體裝置。舉例而言,在一些實施例中,多模式儲存裝置可為基於NAND快閃記憶體的固態磁碟機(SSD)。在一些實施例中,多模式儲存裝置可符合標準化實體外觀尺寸,諸如標準磁碟機外觀尺寸或標準記憶卡外觀尺寸。
再次參看圖5,如上文所描述,多模式儲存裝置可包含具有數個NAND快閃記憶體晶胞的多個晶粒511、512、513、514、521、522、523、524、531、532、533、534、541、542、543以及544,或記憶體晶片。每一晶粒上的NAND快閃記憶體晶胞可再分成記憶體晶胞的多個離散實體區塊,諸如實體區塊515、517、519、528以及539。
可相對於多模式儲存裝置上的晶粒的一或多個離散群組上的記憶體晶胞的區塊執行自由空間的抹除及管理。舉例而言,多模式儲存裝置可包含一百二十八個晶粒,且可相對於來自作為群組或單元的一百二十八個晶粒中的每一個的一個區塊而抹除及管理自由空間。替代地,多模式儲存裝置可包含一百二十八個晶粒,且可相對於來自作為群組的晶粒子集(例如,三十二個晶粒的群組)的一個區塊而抹除及管理自由空間。
圖10為描繪根據本發明的實施例的在多模式儲存裝置的使用者區域中用於儲存的例示性SUE區塊以及對應SUE的頁面的方塊圖。
現參看圖10,繪示形成SUE區塊1010的一序列實體區塊1012、1014、1016以及1018。記憶體晶胞的每一實體區塊1012、1014、1016以及1018進一步再分成記憶體晶胞的多個離散實體頁面(例如,1021、1022、1023以及1024)。SUE頁面1030包含來自對應SUE區塊1010中的每一實體區塊1012、1014、1016以及1018的對應實體頁面1032、1034、1036以及1038。
在本發明的一些實施例中,可產生多模式儲存裝置(例如,350、400或620)中的記憶體晶胞的SUE組態。關於程式化 及抹除,可相對於儲存裝置上的共同地管理為單元的晶粒的每一群組而組織SUE頁面及SUE區塊。SUE區塊可定義為包含實體區塊的記憶體晶胞,實體區塊各自分別選自包含於多模式儲存裝置的晶粒子集中的每一個晶粒,且可將這些實體區塊作為單元而共同地抹除及管理。SUE頁面可定義為包含SUE區塊的離散區段(section)或片段(segment),且可共同地程式化這些離散區段或片段。
舉例而言,在一些實施例中,多模式儲存裝置可包含一百二十八個晶粒,且可共同地抹除及管理在包含於每個晶粒中的各別實體區塊上的自由空間。對應的SUE區塊1010可定義為包含具有一百二十八個實體區塊的記憶體晶胞,實體區塊各自分別選自多模式儲存裝置的一百二十八個晶粒。對應的SUE頁面1030可定義為包含分別對應於一百二十八個實體區塊的一百二十八個區段或片段。
在另一實施例中,多模式儲存裝置可包含一百二十八個晶粒,且(例如)可同時共同地抹除及管理三十二個晶粒的各別實體區塊上的自由空間。對應的SUE區塊1010可定義為包含具有三十二個實體區塊的記憶體晶胞,實體區塊各自分別選自多模式儲存裝置的三十二個晶粒。在此狀況下,對應的SUE頁面1030可定義為包含分別對應於三十二個實體區塊的三十二個區段或片段。
在又一實施例中,多模式儲存裝置可包含劃分成四個平面的一百二十八個晶粒,且可管理包含於每一晶粒中的各別平面的區塊上的自由空間。對應的SUE區塊1010可定義為包含具有包 含於記憶體裝置中的各別平面的一百二十八個區塊的記憶體晶胞。在此狀況下,對應的SUE頁面1030可定義為包含對應於各別平面的區塊的一百二十八個區段或片段。
圖11為描繪根據本發明的實施例的在多模式儲存裝置的使用者區域中用於儲存的使用者儲存空間的例示性SUE區塊以及對應的SUE頁面的方塊圖。
現參看圖11,使用者儲存空間的例示性SUE區塊(S區塊)1110表示為方塊圖。在一些實施例中,SUE區塊1110可被視為類似於虛擬區塊(V區塊)。SUE區塊1110可為個別儲存裝置層級處的記憶體媒體管理操作的基本單位。SUE區塊可由多個SUE頁面(S頁面)組成。在一些例示性實施中,SUE頁面可被視為類似於虛擬頁面(V頁面)。舉例而言,圖11中描繪的SUE區塊1110包含四個SUE頁面(S頁面)1121、1122、1123以及1124。
如圖5中所描繪,分派至SUE區塊(S區塊)中的SUE頁面(S頁面)的實體記憶體晶胞可跨越包含於單一個多模式儲存裝置(例如,350、400或620)中的多個晶粒而位於對應實體頁面以及實體區塊中。替代實施例可包含基於實體抹除區塊大小與多模式儲存裝置的可程式化實體頁面大小之間的關係而劃分成任何數目個頁面的區塊。
圖12為描繪根據本發明的實施例的的在多模式儲存裝置的使用者區域中用於儲存的例示性SUE元頁面以及對應的SUE頁面的方塊圖。
現參看圖12,例示性元頁面(MPAGE)1210表示為方塊 圖。元頁面1210可由跨越儲存系統中的多個儲存裝置的多個SUE頁面(S頁面)組成。舉例而言,圖12中描繪的元頁面1210包含五個SUE頁面(S頁面)1211、1212、1213、1214以及1215。替代實施例可包含基於儲存系統中的個別多模式儲存裝置的數目以及多模式儲存裝置中的每一者中的作為單元共同地管理的晶粒的數目而劃分成任何數目個SUE頁面的元頁面。
分派至各SUE頁面的實體記憶體晶胞可位於個別多模式儲存裝置(例如,350、400或620)中。分派至形成元頁面1210的各種SUE頁面1211、1212、1213、1214以及1215的記憶體晶胞可位於與儲存系統(例如,儲存器具)相關聯的多個儲存裝置(例如,620、630、640以及650)中。
因此,儘管SUE頁面1121、1122、1123以及1124的大小或寬度可對應於各多模式儲存裝置中的作為單元而共同地管理的晶粒的數目,但元頁面1210的大小或寬度可對應於包含於儲存系統中的多模式儲存裝置的數目。
圖13為描繪根據本發明的實施例的在多模式儲存裝置的使用者區域中用於儲存的例示性SUE元區塊以及對應的SUE元頁面的方塊圖。
參看圖13,例示性元區塊(M區塊)1310表示為方塊圖。元區塊(M區塊)1310可由多個元頁面1311、1312、1313以及1314組成。如同元頁面(M頁面)1210,分派至元區塊(M區塊)1310的實體記憶體晶胞可位於與儲存系統相關聯的多個儲存裝置中。亦即,元區塊(M區塊)1310可包含選自每一晶粒的各別區塊,每一晶粒包含於下述晶粒的對應子集中,即,包含於儲存系 統中的每一個多模式儲存裝置(例如,620、630、640以及650)中的作為單元而共同地管理的晶粒的對應子集。因此,元區塊1310的大小可對應於在每一多模式儲存裝置(例如,350、400或620)中共同地管理的晶粒的數目以及包含於儲存系統中的多模式儲存裝置(例如,620、630、640以及650)的數目。
圖14為描繪根據本發明的實施例的在多模式儲存裝置的使用者區域中用於儲存的另一例示性SUE元區塊以及對應的SUE區塊的方塊圖。
參看圖14,例示性元區塊(M區塊)1410可表示為由多個SUE區塊(S區塊)1110組成的方塊圖。元區塊1410可為選自包含於儲存系統中的每一個多模式儲存裝置(例如,620、630、640以及650)中所共同管理之晶粒的每一子集的各別SUE區塊1411、1412、1413、1414以及1415的聚集。類似地,元頁面1210可以是自元區塊1410中的對應SUE區塊1411、1412、1413、1414以及1415中的每一者進行選擇之對應的SUE頁面(例如,1211、1212、1213、1214以及1215)的聚集。
在本發明的一些實施例中,可在元區塊層級處執行某些記憶體媒體管理功能(例如,抹除、程式化、回收(廢棄項目收集)、自由空間管理或其類似者)。亦即,可在儲存系統層級而非個別儲存裝置層級處協調這些記憶體媒體管理功能。
為了實現期望的系統層級記憶體管理,可將專用於使用者資料的邏輯位址空間映射至SUE位址空間,使用者資料(例如)由應用程式以及虛擬機(virtual machine;VM)作業系統而定址。因此,包含於儲存系統中的多模式儲存裝置的使用者區域可經由 基礎暴露介面定址。系統層級記憶體映射及管理導致較低的寫入放大因子,其允許減少的儲存區域佈建,從而導致成本節省。
圖15為描繪根據本發明的實施例的可由多模式儲存系統實施以提供自邏輯位址至SUE位址的位址映射的例示性SUE映射方案的方塊圖。
參看圖15,說明在本發明的實施例中可由儲存系統(例如,圖6的多模式儲存管理系統610)實施以提供自邏輯位址至SUE位址的位址映射的SUE映射方案1500。SUE映射方案1500可使邏輯位址空間與SUE位址空間相關。SUE位址空間可揭示基礎實體儲存媒體的顯著特徵。SUE位址空間可用於定址包含於儲存系統中的多個儲存裝置的聚集實體儲存空間。
可接收使用者資料1502作為輸入,例如自主機應用程式及虛擬機作業系統接收。主機使用者資料可經組織至對應於與原生主機檔案系統(native host file system)、介面標準或其類似者相關聯的邏輯區塊大小(例如,512K位元組資訊片)的儲存單元(例如,經邏輯定址的區塊或邏輯區塊)中。所接收的使用者資料的每一邏輯區塊可由邏輯區塊位址(LBA)定址。舉例而言,在一些實施例中,輸入邏輯區塊定址可與由美國國家標準學會(American National Standards Institute;ANSI)頒佈的小型電腦系統介面(Small Computer System Interface;SCSI)標準相關聯。
使用者資料1502的經邏輯定址的區塊可組合為SUE可定址單元或混合映射系統(hybrid mapping system;HMS)或混合映射區塊(hybrid mapping block;HMB)。在一些實施例中,整數個邏輯區塊可經群聚以形成SUE可定址單元。舉例而言,在圖15 中,八個邏輯區塊經組合以形成每一SUE可定址單元。在替代實施例中,任何整數或分數數目個邏輯區塊可經組合以形成SUE可定址單元。
在一些實施例中,SUE可定址單元可具有用於儲存系統的最小映射粒度。在各種實施例中,SUE可定址單元大小可包含4K位元組、8K位元組或任何其他合適資訊大小或資訊塊(chunk)。
在一些實施例中,儲存系統可包含磁碟區的集合,且每一磁碟區可包含SUE可定址單元的集合,且每一可定址單元可包含邏輯單元的集合。不同磁碟區可分別利用不同SUE可定址單元大小。應瞭解,磁碟區可具有數個特性。磁碟區可對應於:應用程式、單一個使用者層級檔案系統、邏輯磁碟機、命名空間(例如,與給定命名空間相關聯的相鄰邏輯位址的合集)、邏輯單元編號(Logical Unit Number;LUN)等。
在所描繪的實例實施中:由邏輯區塊位址1521、1522、1523、1524、1525、1526、1527以及1528定址的經邏輯定址的區塊1531、1532、1533、1534、1535、1536、1537以及1538組合為SUE可定址單元1503;由邏輯區塊位址1541、1542、1543、1544、1555、1546、1547以及1548定址的經邏輯定址的區塊1551、1552、1553、1554、1555、1556、1557以及1558組合為SUE可定址單元1504;且由邏輯區塊位址1571、1572、1573、1574、1575、1576、1577以及1578定址的經邏輯定址區塊1581、1582、1583、1584、1585、1586、1587以及1588組合為SUE可定址單元1505。邏輯區塊可橫跨可定址單元。每一個可定址單元可存在多個區塊。
可視情況對SUE可定址單元(例如,1503、1504以及1505) 中的使用者資料1502執行資料壓縮演算法以產生經壓縮SUE可定址單元(例如,1507、1508以及1509)。可對應於每一個經壓縮SUE可定址單元(例如,1507、1508以及1509)產生標頭區段(例如,1511、1512以及1513)。例如,標頭區段可含有用於回收及資料恢復活動的資訊。
經壓縮SUE可定址單元及標頭區段可置放於儲存裝置傳送區塊或SSD傳送區塊(SSD transfer block;STB)1515及1517中。在所描繪的實例中,標頭區段1511、1512以及1513與對應經壓縮SUE可定址單元1507、1508以及1509包含於STB 1515及1517中。在一些實施例中,可允許經壓縮SUE可定址單元以及使用者資料1502的封閉邏輯區塊橫跨兩個或大於兩個儲存裝置傳送區塊。
整數個儲存裝置傳送區塊可對準至SUE頁面1591、1592、1593以及1594,以用於傳送至多模式儲存裝置。在一些實施例中,可允許經壓縮SUE可定址單元以及使用者資料1502的封閉邏輯區塊橫跨兩個或大於兩個SUE頁面1591、1592、1593以及1594。
在一些實施例中,可能不在系統層級處相對於使用者資料1502實施像是錯誤校正碼(ECC)的錯誤檢查,而是必須由個別多模式儲存裝置實施錯誤檢查。
與使用者資料相關聯的元資料可儲存於多模式儲存裝置(例如,350、400或620)的經邏輯定址系統區域中。舉例而言,在一些實施例中,多模式儲存裝置中使用邏輯區塊定址所定址的記憶體晶胞的分割區可儲存映射表,所述映射表可將SUE可定址 單元映射至SUE位址空間中的映射表。舉例而言,映射表可儲存指標,每一個指標可指向個別SUE可定址單元。因此,可使用SUE可定址單元的映射以及邏輯區塊與SUE可定址單元對應的偏移(offset)來判定在SUE位址空間中使用者資料的邏輯區塊對應的儲存位置。
在一些實施例中,資訊可儲存於磁碟區(例如,671、672以及673)中。可存在多個磁碟區或命名空間,且不同磁碟區或命名空間可與不同大小的SUE可定址單元相關聯。亦應瞭解,不同大小的磁碟區或命名空間可與相同大小的SUE可定址單元相關聯。
圖16為描繪可實施圖15的SUE映射方案的例示性儲存系統的示意圖。如圖16中所說明,例示性的儲存系統1602可包含處理器1604、記憶體1606、網路介面1608、輸入/輸出(input/output;I/O)裝置1610、顯示裝置1612、匯流排1614以及多個非揮發性記憶體裝置1616。儲存系統1602的各種組件可藉由區域資料鏈路(local data link)1618耦接,區域資料鏈路1618在各種實施例中例如併有位址匯流排、資料匯流排、串列匯流排、並列匯流排或所述匯流排的任何組合。
處理器1604可包含適合於控制儲存系統1602的任何一般或特殊應用的數位處理器。記憶體1606可包含適合於儲存資料以及指令以供處理器1604存取的任何數位記憶體裝置。
網路介面1608可包含適合於以通信方式將儲存系統1602連接至通信網路(例如,區域網路(local area network;LAN)或網際網路協定(internet protocol;IP)網路)的任何網路連接介 面。網路介面1608可實施儲存網路連接標準,例如,網際網路小型電腦系統介面(iSCSI)協定。
輸入/輸出裝置1610可包含用於將數位資訊發送至儲存系統1602或自儲存系統1602接收數位資訊的任何合適裝置。顯示裝置1612可包含用於顯示文字或圖形使用者介面(graphical user interface;GUI)的任何合適裝置。
匯流排1614可包含:例如,快速周邊組件互連(peripheral component interconnect express;PCIe)匯流排或用於儲存系統中的通信的任何其他合適的高速串列擴展匯流排。匯流排1614可利用標準NVM Express(Non-Volatile Memory Express;NVMe)或非揮發性記憶體主機控制器介面規範(Non-Volatile Memory Host Controller Interface Specification;NVMHCI),以存取儲存系統1602中的儲存裝置,諸如非揮發性記憶體裝置1616。非揮發性記憶體裝置1616可包含:例如,基於NAND快閃記憶體的固態硬碟機(SSD)或任何其他合適的非揮發性記憶體裝置。
在替代實施例中,一般計算裝置可實施圖15的SUE映射方案1500的功能。舉例而言,一般計算裝置可包含伺服器、工作站、個人電腦或其類似者。
儲存於像是非揮發性記憶體裝置1616的電腦可讀媒體上的程式碼(諸如,原始程式碼、目標程式碼或可執行程式碼)可載入至工作記憶體或操作記憶體(例如,記憶體1606)中,且由處理器1604執行以便執行圖15的SUE映射方案1500的功能。在替代實施例中,可執行指令可儲存於韌體中,或功能可由專用硬體執行。
圖17為表示根據本發明的實施例的將邏輯位址空間映射至SUE位址空間的例示性方法的流程圖。現參看圖17,例示性行程流程例如可由圖16的儲存系統1602執行以實施下述SUE映射方案的實施例,即,在本揭露內容中所描述的用於將邏輯位址空間映射至SUE位址空間以便定址包含於儲存系統中的多個儲存裝置的聚集實體儲存空間的SUE映射方案的實施例。
行程在操作1702處開始,其中,例如自主機應用程式或虛擬機作業系統接收使用者資料。所接收的使用者資料可組織於邏輯區塊中且由邏輯區塊位址進行定址。邏輯區塊可對應於與原生主機檔案系統、資料庫或其類似者相關聯的最小可定址記憶體單元大小。
在操作1704中,如上文所描述,可將邏輯區塊組合為SUE可定址單元。舉例而言,整數個邏輯區塊可經群聚以形成每一個SUE可定址單元。在操作1706中,可選擇性地對SUE可定址單元中的使用者資料執行資料壓縮演算法,如上文所解釋。(圖17中用虛線繪示的組成部分為選擇性項目。)
在操作1708中,可產生標頭區段且將其添加至每一個SUE可定址單元。標頭區段可產生為包含:例如,用於回收及資料恢復活動中的資訊,如上文所描述。在操作1710中,可將經壓縮SUE可定址單元及標頭區段置放於儲存裝置傳送區塊中,如上文所解釋。
在操作1712中,如上文所進一步解釋,可連結整數個儲存裝置傳送區塊且使其對準至SUE頁面,且在操作1714中,可將對應於SUE頁面的儲存裝置傳送區塊傳送至多模式儲存裝置以儲 存於使用者區域中。在操作1716中,可將關於SUE頁面中的使用者資料的元資料發送至多模式儲存裝置以儲存於系統區域中,如上文所描述。
III.多模式儲存管理系統
本發明的另一實施例繪示於圖18中,其說明使用SUE定址方案以便允許儲存系統對儲存系統(諸如,圖16的儲存系統1602)中的邏輯及SUE儲存空間的例示性多模式儲存管理系統1802進行定址。多模式儲存管理系統1802可包含SUE儲存管理器1804、邏輯儲存管理器1806、回收管理器1808以及儲存陣列管理器1810。
SUE儲存管理器1804可提供使用者資料儲存映射、讀取以及寫入功能。SUE儲存管理器1804可使用SUE位址映射方案將使用者資料映射至儲存系統的使用者區域。SUE儲存管理器1804可透過SUE介面將儲存於使用者區域中的使用者資料存取至儲存系統的儲存裝置。
SUE映射方案可在儲存系統與儲存裝置之間分佈邏輯區塊位址至實體位址映射功能。換言之,SUE映射方案可組合自邏輯區塊位址至SUE位址的儲存系統層級映射或虛擬化與自SUE位址至實體位址的儲存裝置層級映射或轉譯。
SUE映射方案可向儲存系統暴露儲存裝置的某些實體特徵或代表性幾何結構,使得關於使用者資料的某些非揮發性記憶體管理功能能夠在儲存系統層級處跨越多個儲存裝置而非在個別儲存裝置層級處執行。使用者資料管理任務自個別儲存裝置層級至儲存系統層級的重新分佈可產生系統高效率,包含減小寫入放 大因子,從而准許減少資源佈建以及降低成本。
邏輯儲存管理器1806可提供系統資料儲存映射、讀取以及寫入功能。邏輯儲存管理器1806可使用邏輯位址映射方案(諸如,邏輯區塊定址(LBA))將系統資料映射至儲存裝置的系統區域。邏輯儲存管理器1806可透過邏輯介面將儲存於系統區域中的系統資料存取至儲存裝置。
因此,在一些實施例中,可將一個相關聯儲存裝置或多個相關聯儲存裝置各自的記憶體空間再劃分(subdividc)或分割(partition)成單獨儲存區域或位址空間,包含經邏輯定址系統區域以及經SUE定址使用者區域。儲存裝置可包含兩個主機介面:邏輯主機介面,可提供對經邏輯定址系統區域的存取;以及SUE主機介面,可提供對SUE位址使用者區域的存取。關於系統資料的非揮發性記憶體管理功能可由個別儲存裝置控制器執行。
回收管理器1808可在儲存系統層級處提供關於使用者資料的非揮發性記憶體管理,包含自由空間管理及回收或廢棄項目收集功能。因此,包含於儲存系統中的個別儲存裝置可不執行對使用者資料的本地(local)回收(廢棄項目收集)。回收管理器1808可實施各種自由空間管理及回收方法。在一些實施例中,回收管理器1808亦可執行描述於本揭露內容中的新穎自由空間管理及回收方法。
儲存陣列管理器1810或獨立磁碟冗餘陣列(RAID)管理器可為包含於儲存系統中的多個儲存裝置的陣列提供關於使用者資料的儲存管理,包含資料恢復功能。因此,包含於儲存系統中的個別儲存裝置可不針對使用者資料執行晶粒層級RAID功 能。儲存陣列管理器1810可實施各種儲存管理及資料恢復方法。在一些實施例中,儲存陣列管理器1810亦可執行描述於本揭露內容中的新穎儲存管理及資料恢復方法。
現參看圖19,說明另一例示性多模式儲存管理系統1902,其使用SUE定址方案以便允許儲存系統對儲存系統(諸如,圖16的儲存系統1602)中的邏輯及SUE儲存空間進行定址。多模式儲存管理系統1902可包含資料對準單元(data alignment unit;DAU)1904、SUE儲存存取管理器1906、資料壓縮管理器1908、磁碟區映射引擎1910、緩衝管理器1912、元區塊管理器1914、回收管理器1916、儲存陣列管理器1918以及邏輯儲存存取管理器1920。
資料對準單元(DAU)1904可自小型電腦系統介面(SCSI)目標接收經邏輯定址媒體存取命令,例如,讀取、寫入以及取消映射命令。所述命令基於記憶體區塊由整數索引指示的線性定址方案,利用邏輯區塊定址(LBA)、SCSI記憶體位置抽象化標準。在邏輯區塊定址中,單整數基底位址用以識別資料的每一邏輯區塊的開始,且每一線性基底位址唯一地與單一個邏輯區塊相關聯。因此,邏輯區塊定址對作業系統、檔案系統、裝置驅動器以及主機應用程式隱藏或遮蔽儲存裝置的特定細節或特徵。
在寫入操作期間,資料對準單元1904可將自SCSI目標所接收的資料的邏輯區塊組合為SUE映射區塊。舉例而言,在一些實施例中,整數個邏輯區塊可經群聚以形成SUE映射區塊。資料壓縮管理器1908可選擇性地對SUE映射區塊中的使用者資料執行資料壓縮演算法。
在讀取操作期間,資料對準單元1904可自SCSI目標接收讀取命令且將讀取請求傳遞至SUE儲存存取管理器1906。資料對準單元1904可自SUE儲存存取管理器1906接收所請求的使用者資料且將所請求的使用者資料傳遞至SCSI目標。
SUE儲存存取管理器1906可提供使用者資料讀取功能以及使用者資料寫入功能。在寫入操作期間,SUE儲存存取管理器1906可針對每一SUE映射區塊產生標頭區段。標頭區段可含有例如用於回收及資料恢復活動中的資訊。SUE儲存存取管理器1906可將經壓縮的SUE映射區塊連同對應的標頭區段一起置放於儲存裝置傳送區塊中。在一些實施例中,允許經壓縮的SUE映射區塊以及使用者資料的封閉邏輯區塊橫跨兩個或大於兩個的儲存裝置傳送區塊。
SUE儲存存取管理器1906進一步可將整數個儲存裝置傳送區塊對準至SUE頁面以傳送至儲存裝置。SUE儲存存取管理器1906可將對應於SUE頁面的儲存裝置傳送區塊傳送至寫入緩衝器。
在一些實施例中,允許經壓縮的SUE映射區塊以及使用者資料的封閉邏輯區塊橫跨兩個或大於兩個的SUE頁面。每一SUE頁面可對應於儲存系統的個別儲存裝置。在SUE映射方案中,SUE頁面可為程式化的基本單位或寫入操作的基本單位。
在讀取操作期間,SUE儲存存取管理器1906可判定所請求的使用者資料的位置,且請求將所請求的使用者資料自相關聯儲存裝置讀取至讀取緩衝器。SUE儲存存取管理器1906可將使用者資料自讀取緩衝器傳送至資料對準單元1904。
作為SUE定址方案的子功能或作為其補充功能,資料壓縮管理器1908可對使用者資料執行壓縮演算法。由資料壓縮管理器1908執行的資料壓縮功能可有助於抵消導致寫入放大的固有系統因素。
磁碟區映射引擎1910可協調SUE位址映射功能。磁碟區映射引擎1910可維護記錄使用者資料的當前位置的使用者區域映射表。使用者區域映射表可包含映射資訊,所述映射資訊使所儲存的使用者資料的邏輯區塊位址與SUE位址相關。使用者區域映射表可儲存於相關聯儲存裝置的經邏輯定址系統區域中。
在寫入操作期間,磁碟區映射引擎1910可基於自SUE儲存存取管理器1906接收的關於所寫入的使用者資料的新的或經修訂SUE位址位置,而更新使用者區域映射表。
在讀取操作期間,磁碟區映射引擎1910可基於所請求的邏輯區塊位址而在使用者區域映射表中查找所請求的使用者資料的SUE位址位置,且向SUE儲存存取管理器1906提供SUE位址位置。
磁碟區映射引擎1910可將使用者資料組織成SUE頁面、SUE區塊、元頁面以及元區塊。SUE區塊可映射個別儲存裝置上的數個實體區塊。在一些實施例中,映射至同一SUE區塊的多個實體區塊可分別位於儲存裝置的單獨晶粒上。可在儲存裝置層級處將映射至同一SUE區塊的所有實體區塊作為單元進行抹除及管理。因此,SUE區塊可對應於關於回收及自由空間管理而在各別晶粒上共同地管理的實體區塊群組。等效地,可將晶粒上的對應於SUE區塊的各別實體區塊群組作為儲存媒體的單元而管理。
每一SUE區塊可包含數個SUE頁面,其中每一個SUE頁面可對準至經映射至SUE區塊的各別實體區塊的實體頁面。跨越包含於儲存系統中的所有儲存裝置定位的各別SUE區塊的對應SUE頁面可映射至元頁面。類似地,跨越包含於儲存系統中的所有儲存裝置定位的對應SUE區塊可映射至元區塊。
可在多模式儲存管理系統1902層級處相對於使用者資料的元區塊執行儲存媒體管理功能(例如,回收及自由空間管理)。因此,可在多模式儲存管理系統1902層級處相對於在包含於儲存系統中的每一儲存裝置中共同管理的對應實體區塊群組執行儲存媒體管理功能。
可相對於使用者資料的元頁面執行程式化操作及讀取操作。因此,可相對於在包含於儲存系統中的各非揮發性記憶體裝置中所共同管理的對應實體頁面群組執行程式化操作及讀取操作。
因此,能夠以向多模式儲存管理系統1902暴露實體儲存區域的顯著組織或代表性幾何結構的方式,將包含於儲存系統中的儲存裝置虛擬化。在包含於單一個儲存裝置中的各別晶粒上共同管理的實體區塊群組可作為SUE區塊而呈現至多模式儲存管理系統1902,且在跨越包含於儲存系統中的所有儲存裝置而定位的各別晶粒上所共同管理的對應實體區塊群組可作為元區塊而呈現至多模式儲存管理系統1902。
類似地,在包含於單一個儲存裝置中的各別晶粒上共同地程式化的實體頁面群組可作為SUE頁面而呈現至多模式儲存管理系統1902,且在跨越包含於儲存系統中的所有儲存裝置而定位 的各別晶粒上共同地程式化的實體頁面群組可作為元頁面而呈現至多模式儲存管理系統1902。
緩衝管理器1912可管理讀取及寫入緩衝器的集區(pool)。在寫入操作期間,在藉助於儲存陣列管理器1918將使用者資料作為SUE頁面單獨地發送至個別儲存裝置之前,緩衝管理器1912可將自SUE儲存存取管理器1906接收的儲存裝置傳送區塊累積於寫入緩衝器中,直至已累積使用者資料的大約整個元頁面。
在讀取操作期間,緩衝管理器1912可提供讀取緩衝器以支援讀取快取功能。可將作為儲存裝置傳送區塊自儲存陣列管理器1918接收的使用者資料的SUE頁面保存於讀取緩衝器中,直至被轉送至SUE儲存存取管理器1906。
元區塊管理器1914可追蹤界定於儲存裝置的使用者區域中的個別元區塊的當前狀態,例如被抹除、在作用中、關閉、回收或抹除中。當前狀態可儲存於元區塊資訊表中,元區塊資訊表可儲存於記憶體中且在儲存裝置的系統區域中備份。元區塊管理器1914亦可保持當前在特定狀態中的元區塊的對應清單,諸如被抹除清單、回收清單以及抹除中清單。元區塊管理器1914可選擇特定元區塊以供提交至SUE儲存存取管理器1906以用於回收活動。
回收管理器1916可服務來自元區塊管理器1914的回收請求,以自所指定的元區塊恢復有效使用者資料,且將有效使用者資料重定位至其他元區塊。回收管理器1916可請求下述動作,即,抹除及回收對應於所指定的元區塊的實體記憶體晶胞,以提 供儲存裝置的使用者區域中的自由空間。
儲存陣列管理器1918可提供儲存裝置的使用者區域給SUE介面,以及提供儲存裝置的系統區域給邏輯介面。儲存陣列管理器1918可提供資料保護功能,諸如RAID條帶化(striping)以及同位檢查。舉例而言,在一些實施例中,儲存裝置傳送區塊可用作RAID元件,且RAID條帶可包含跨越元頁面中的所有SUE頁面而定位的儲存裝置傳送區塊。因此,若儲存系統中的單一個儲存裝置失敗,則儲存陣列管理器1918能夠使用反向同位計算自失敗的儲存裝置恢復資料。
邏輯儲存存取管理器1920可使用邏輯定址方法提供系統資料讀取以及寫入功能。邏輯儲存存取管理器1920可儲存及擷取關於使用者資料的元資料,包含使用者區域映射表、元區塊資訊表、磁碟區表以及儲存系統檔案、日誌檔案以及其類似者。
關於儲存於使用者區域中的使用者資料,個別非揮發性記憶體裝置可負責某些記憶體媒體管理功能(例如,讀取重試、失敗實體區塊映射、錯誤校正碼(ECC)、進階(advanced)增量階躍脈波程式化(incremental step pulse programming;ISPP)或其類似者)。關於儲存於系統區域中的系統資料,個別非揮發性記憶體裝置可負責所有記憶體媒體管理功能(例如,回收、耗損平均(wear leveling)、讀取及寫入快取、讀取重試、失敗實體區塊映射、錯誤校正碼(ECC)、進階增量階躍脈波程式化(ISPP)或其類似者)。
現參看圖20,說明使用SUE定址方案以便允許儲存系統來定址儲存裝置中的邏輯及SUE儲存空間的另一例示性多模式儲 存管理系統2002或混合映射系統(HMS)。
多模式儲存管理系統2002可充當負責關於跨越包含於儲存系統中的多個儲存裝置而分佈的使用者區域的非揮發性記憶體媒體管理的全域快閃記憶體轉譯層(global flash translation layer;GFTL)。多模式儲存管理系統2002可執行非揮發性記憶體媒體存取功能、位址映射功能、回收以及耗損平均功能,所述位址映射功能用以將主機應用程式邏輯位址空間元素映射至SUE位址空間資料結構中,所述SUE位址空間資料結構對準至實體非揮發性記憶體位置。
多模式儲存管理系統2002可包含資料對準單元(DAU)2004、使用者區域存取管理器(UAAM)2006、使用者區域映射引擎(UAME)2008、緩衝管理器(buffer manager;BM)2010、系統區域存取管理器(system area access manager;SAAM)2012、元區塊管理器(MBM)2014、元區塊資訊管理器(metablock information manager;MBI)2016、儲存裝置控制管理器(SCM)2018、儲存裝置存取管理器(SAM)2020、全域狀態管理器(GSM)2022以及全域錯誤管理器(global error manager;GEM)2024。多模式儲存管理系統2002可以通信方式連接至系統狀態管理器2026、系統日誌記錄及統計管理器2028、目標裝置2030以及多個非揮發性記憶體(nonvolatile memory;NVM)裝置2032。
全域錯誤管理器2024可管理發生在包含多模式儲存管理系統2002的儲存系統中的全域錯誤。系統狀態管理器2026可管理多模式儲存管理系統2002的狀態(例如,操作條件)。系統日誌記錄及統計管理器2028可基於包含多模式儲存管理系統2002 的儲存系統的操作而提供系統日誌/統計資料。非揮發性記憶體裝置2032可包含廣泛使用的任何種類的非揮發性記憶體。目標裝置2030可為另一記憶體裝置,其為用於讀取/寫入操作的目標。
資料對準單元(DAU)2004可自目標裝置2030接收經邏輯定址媒體存取命令,例如,讀取、寫入以及取消映射命令。資料對準單元2004可接收邏輯區塊定址(LBA)緩衝清單作為輸入。在寫入操作期間,資料對準單元2004可將自目標裝置2030接收的邏輯資料區塊組合成SUE映射區塊或混合映射區塊(HMB)。舉例而言,在一些實施例中,整數個邏輯區塊可經群聚以形成SUE映射區塊。
資料對準單元2004可合併自目標裝置2030到達的對準以及未對準使用者資料訊務(traffic)兩者,從而對未對準寫入訊務執行讀取/修改/寫入操作,以便將資料對準至用於將邏輯位址映射至實體位址的單元(SUE映射區塊)。資料對準單元2004可將使用者資料置放至SUE映射區塊對準緩衝清單中。在各種實施例中,SUE映射區塊可含有固定資料量,諸如4KB、8KB、16KB或其類似者。
在讀取操作期間,資料對準單元2004可自目標裝置2030接收讀取命令,且將讀取請求傳遞至使用者區域存取管理器2006。資料對準單元2004可自使用者區域存取管理器2006接收所請求的使用者資料,且將所請求的使用者資料傳遞至目標裝置2030。
圖21為說明根據本發明的實施例的可由多模式儲存管理系統實施的使用者區域存取管理器(UAAM)的示意圖。參看圖 21,使用者區域存取管理器(UAAM)2006可包含讀取管理器(read manager;RM)2102、寫入管理器(write manager;WM)2104、資料壓縮管理器(DC)2106、資料解壓縮管理器(DD)2108、回收管理器(RC)2110、自由空間帳戶管理器(FSA)2112、流量控制管理器(FC)2114以及服務品質管理器(QoS)2116。
讀取管理器(RM)2102可自資料對準單元2004接收讀取請求且服務讀取請求。讀取管理器2102可向使用者區域映射引擎(UAME)2008請求相關映射資訊。讀取管理器2102可向儲存裝置存取管理器2020告示讀取請求。在讀取操作期間,讀取管理器2102可向緩衝管理器2010請求釋放讀取緩衝器中的使用者資料。讀取管理器2102可向資料解壓縮管理器2108告示關於所讀取請求使用者資料的解壓縮請求。
寫入管理器(WM)2104可自資料對準單元2004接收寫入請求。在寫入操作期間,寫入管理器2104可在SUE映射區塊串流上產生元資料標頭,且產生用於使用者區域映射引擎2008的關於使用者資料的SUE定址的映射資訊。寫入管理器2104可向資料壓縮管理器2106告示排程使用者資料壓縮命令的壓縮請求,且向儲存裝置存取管理器2020告示寫入請求。寫入管理器2104可向緩衝管理器2010請求釋放寫入緩衝器中的使用者資料。當寫入資料的當前元區塊已變滿時,寫入管理器2104可請求元區塊管理器(MBM)2014開啟新的作用中元區塊。
資料壓縮管理器(DC)2106可自寫入管理器2104接收壓縮請求且服務壓縮請求。在一些實施例中,資料壓縮管理器2106可對SUE映射區塊中的使用者資料實施資料壓縮演算法。在一些 其他實施例中,資料壓縮管理器2106可向外部壓縮單元(圖中未示)排程資料壓縮任務。
資料解壓縮管理器(DD)2108可自讀取管理器2102接收解壓縮請求且服務解壓縮請求。在一些實施例中,資料解壓縮管理器2108可對SUE映射區塊中的使用者資料實施資料解壓縮演算法。在一些其他實施例中,資料解壓縮管理器2108可向外部解壓縮單元(圖中未示)排程資料解壓縮任務。
回收管理器(RC)2110可自元區塊管理器2014接收回收請求,且服務回收請求以自所指定元區塊恢復有效資料來回收自由空間。回收管理器2110可向使用者區域映射引擎2008請求相關映射資訊,且向讀取管理器2102告示關於所指定元區塊的讀取請求。回收管理器2110可剖析隨附儲存裝置讀取資料串流中的SUE映射區塊的元資料標頭,且向寫入管理器2104告示關於所指定元區塊中剩餘的所有有效資料的寫入請求。回收管理器2110亦可服務來自儲存裝置控制管理器(SCM)2018的回收部分元區塊資料的請求。
自由空間帳戶管理器(FSA)2112可在寫入操作期間自寫入管理器2104接收映射資訊,且產生關於儲存於元區塊中的過時使用者資料的自由空間資訊。自由空間帳戶管理器2112可向元區塊資訊管理器2016告示自由空間資訊以更新對應元區塊資訊表條目。
流量控制管理器(FC)2114可監視系統資源,諸如讀取/寫入緩衝器、壓縮緩衝器、儲存匯流排以及其他佇列深度或其類似者。若系統層級資源佈建降至預設限值以下,則流量控制管理 器2114可重設服務品質管理器2116中的節流等級(throttling-down level)。在一些實施例中,可使用系統管理員命令建立資源佈建的所需等級。流量控制管理器2114可為系統管理員提供用於介面層級節流的統計資料。
服務品質管理器(QoS)2116可基於系統資源佈建等級以及延遲測量而界定服務品質策略。服務品質管理器2116可實施多個佇列以服務不同服務品質策略集區。關於基於延遲的策略,服務品質管理器2116可對佇列條目(entry)實施時戳。服務品質管理器2116可監視各種佇列參數以及選擇請求以確保不違反策略。在流量控制管理器2114請求時,服務品質管理器2116可對基於佈建的策略佇列上的訊務進行節流。
圖22為說明根據本發明的實施例的可由多模式儲存管理系統實施的使用者區域映射引擎(UAME)的示意圖。參看圖22,使用者區域映射引擎(UAME)2008可包含磁碟區管理器(volume manager;VM)2202、映射頁面讀取管理器(map page read manager;MPRM)2204、映射頁面寫入管理器(map page write manager;MPWM)2206以及映射頁面快取管理器(map page cache manager;MPCM)2208。
磁碟區管理器(VM)2202可提供產生、毀損以及管理磁碟區的服務且處理(handle)多個佈建策略。磁碟區管理器2202可維護可儲存於記憶體中且在系統區域中備份的磁碟區表中的相關資訊,且可提供對磁碟區表中的條目的存取服務。磁碟區管理器2202可使用系統區域存取管理器2012以備份及還原磁碟區表。
當映射頁面快取管理器2208偵測到映射頁面遺漏(map page miss)時,映射頁面讀取管理器(MPRM)2204可接收及服務自映射頁面快取管理器2208提供的對於缺少的映射頁面的請求。映射頁面寫入管理器(MPWM)2206可接收及服務來自映射頁面快取管理器2208的對於映射頁面收回的請求。
映射頁面快取管理器(MPCM)2208可服務自讀取管理器2102及回收管理器2110提供的映射條目資訊請求,以及由寫入管理器2104提供的映射條目更新。當偵測到映射頁面遺漏時,映射頁面快取管理器2208可向映射頁面讀取管理器2204請求缺少的映射頁面。映射頁面快取管理器2208可向映射頁面寫入管理器2206請求映射頁面收回。
緩衝管理器(BM)2010可管理讀取及寫入緩衝器的集區。在寫入操作期間,緩衝管理器2010可分配及釋放儲存裝置傳送區塊以在寫入緩衝器中累積自寫入管理器2104所接收的使用者資料。當已累積使用者資料的大約整個元頁面時,緩衝管理器2010可自寫入管理器2104接收對於釋放寫入緩衝器中的使用者資料的請求,且將使用者資料轉送至儲存裝置存取管理器2020。
在讀取操作期間,緩衝管理器2010可分配及釋放讀取緩衝器中的儲存裝置傳送區塊以支援讀取快取功能。作為儲存裝置傳送區塊自儲存裝置存取管理器2020接收的使用者資料的SUE頁面可最初保存於讀取緩衝器中。緩衝管理器2010可自讀取管理器2102接收對於釋放讀取緩衝器中的使用者資料的請求,且緩衝管理器2010可將儲存裝置傳送區塊轉送至讀取管理器2102。
系統區域存取管理器(SAAM)2012可服務關於存取儲存於包含於儲存系統中的儲存裝置的系統區域中的系統資料的請 求。系統區域存取管理器2012可接收及服務來自磁碟區管理器2202以及元區塊資訊管理器2016的分別為備份及還原磁碟區表以及元區塊資訊表的請求。系統區域存取管理器2012可接收及服務來自映射頁面寫入管理器2206、映射頁面讀取管理器2204以及映射頁面快取管理器2208的存取使用者區域映射表的請求。
圖23為說明根據本發明的實施例的可由多模式儲存管理系統實施的元區塊管理器(MBM)的示意圖。參看圖23,元區塊管理器2014可包含回收元區塊挑選器(reclamation metablock picker;RCMBP)2302以及元區塊狀態管理器(metablock state manager;MBSM)2304。
回收元區塊挑選器(RCMBP)2302可監視關於使用者區域元區塊的參數,例如抹除計數、過時資料等級、停留時間以及其類似者。基於所監視的參數,回收元區塊挑選器2302可選擇用於回收或廢棄項目收集的元區塊。回收元區塊挑選器2302可實施各種耗損平均策略。舉例而言,回收元區塊挑選器2302可嘗試將元區塊抹除計數維持在較佳值範圍內,且嘗試分隔單獨元區塊中的相對動態(熱)資料與相對靜態(冷)資料。
元區塊狀態管理器(MBSM)2304可追蹤使用者區域元區塊的當前狀態,例如,作用中、關閉、抹除中、被抹除、回收或廢棄項目收集。元區塊狀態管理器2304可藉由更新元區塊資訊表經由各種狀態轉變元區塊。元區塊狀態管理器2304亦可維護在特定狀態中的元區塊的各種清單,例如,被抹除元區塊清單、回收元區塊清單以及抹除中元區塊清單。元區塊狀態管理器2304可監視被抹除元區塊清單以判定準備好供回收(廢棄項目收集)的 個別元區塊。
元區塊資訊管理器(MBI)2016可維護元區塊資訊表。元區塊資訊管理器2016可提供對元區塊資訊表中的條目的存取服務以用於其他模組。元區塊資訊管理器2016可將備份及還原元區塊資訊表的請求發送至系統區域存取管理器2012。
圖24為說明根據本發明的實施例的可由多模式儲存管理系統實施的儲存裝置控制管理器(SCM)的示意圖。參看圖24,儲存裝置控制管理器(SCM)2018或固態裝置(SSD)控制管理器(SCM)可包含儲存裝置日誌記錄及統計管理器(storage device logging and statistics manager;SLS)2402、S區塊抹除引擎(S-Block erase engine;SBEE)2404以及儲存裝置錯誤管理器(storage device error manager;SEM)2406。
儲存裝置日誌記錄及統計管理器(SLS)2402可維護儲存裝置存取歷史的日誌。
S區塊抹除引擎(SBEE)2404可藉助於元區塊管理器2014自回收管理器2110接收抹除請求且管理抹除行程。S區塊抹除引擎2404可將S區塊抹除請求發送至儲存裝置存取管理器2020。
儲存裝置錯誤管理器(SEM)2406可將回收部分元區塊資料的請求發送至回收管理器2110。
圖25為說明根據本發明的實施例的可由多模式儲存管理系統實施的儲存裝置存取管理器(SAM)的示意圖。參看圖25,儲存裝置存取管理器(SAM)2020可包含邏輯存取管理器(logical access manager;SLA)2502、RAID管理器(RAID)2504、讀取查找引擎(read lookup engine;RLE)2506以及儲存初始化管理 器(storage initialization manager;SI)2508。
讀取查找引擎2506可提供/管理讀取操作查找。儲存初始化管理器2508可管理儲存系統的初始化操作。
邏輯存取管理器(SLA)2502或SSD邏輯存取管理器可提供關於儲存裝置的系統區域中的系統資料的存取服務。邏輯存取管理器2502可使用各種邏輯區塊定址以定址儲存裝置的系統區域中的系統資料。邏輯存取管理器2502可利用標準快速NVM(NVMe)或非揮發性記憶體主機控制器介面規範(NVMHCI),且可發送命令以存取包含於儲存系統中的儲存裝置或固態磁碟機(SSD)。
RAID管理器(RAID)2504可對包含於儲存系統中的多個儲存裝置的陣列提供關於使用者資料的儲存管理,包含資料恢復功能。因此,包含於儲存系統中的個別儲存裝置可不針對使用者資料執行晶粒層級RAID功能。RAID管理器2504可實施各種儲存管理及資料恢復方法。在一些實施例中,RAID管理器2504亦可執行描述於本揭露內容中的新穎儲存管理及資料恢復方法。
RAID管理器2504可提供儲存裝置的使用者區域給SUE介面,以及提供儲存裝置的系統區域給邏輯介面。RAID管理器2504可提供資料保護功能,諸如RAID條帶化(striping)以及同位檢查。舉例而言,在一些實施例中,儲存裝置傳送區塊可用作RAID元件,且RAID條帶可包含跨越元頁面中的所有SUE頁面而定位的儲存裝置傳送區塊。因此,若儲存系統中的單一個儲存裝置失敗,則RAID管理器2504能夠使用反向同位計算自失敗的儲存裝置恢復資料。
圖26為說明根據本發明的實施例的可由多模式儲存管理系統實施的全域狀態管理器(GSM)的示意圖。參看圖26,全域狀態管理器(GSM)2022可包含電源故障管理器(power fail manager;PFM)2602以及錯誤及損毀管理器(error and crash manager;PFCM)2604。
電源故障管理器2602可管理與多模式儲存管理系統2002的電源故障相關聯的問題。錯誤及損毀管理器2604可管理在多模式儲存管理系統2002中發生的錯誤/損毀問題。
圖18、圖19以及圖20的多模式儲存管理系統1802、1902以及2002的功能可由圖16的儲存系統1602實施。在替代實施例中,多模式儲存管理系統1802、1902以及2002的功能可由正常計算裝置或由專用硬體實施。
所呈現的多模式方法包含促進資訊的有效及高效儲存的多種特徵及特性。所述特徵及特性可改良與效能相關聯的許多不同特質。在一些實施例中,所描述分割方法的靈活性允許實現相對較快速度及可管理複雜度。相對大量的使用者資料可儲存於實現使用者資料的極快儲存及管理操作的SUE位址空間中。而相對少量的元資料可儲存於經邏輯定址區域中,從而允許儲存系統充分利用用於複雜度降低的元資料的抽象化性質。
另外,增加相對較小元資料區的過度佈建的靈活性產生大得多的百分比過度佈建影響,其幫助了加速元資料儲存操作以及補償速度減小,即,將在其他方面歸因於複雜度增加而發生的速度減小。相較於其他儲存系統,此情況允許過度佈建資源的較佳整體分配及較佳影響。靈活性亦可藉由允許區塊的不同儲存區 能夠在兩個分割區之間重新指派或重新分配來促進改良的生命週期保持。儲存於區中的資料的性質(nature)(例如,類型)可指示一種類型資料比所述區中的另一類型的資料較少地寫入/抹除(例如,大部分元資料相較於使用者資料無大的改變),且可將一個分割區中的實體區塊重新指派至另一分割區以均衡特定區上的損耗以及磨損。靈活性亦藉由將功率循環職責上移至系統層級而允許功率循環改良。
依據電腦記憶體內的資料位元的操作的行程、邏輯區塊、處理以及其他符號表示來呈現詳細描述的一些部分。此等描述及表示為大體上由熟習資料處理技術者用以將其工作的主旨有效地傳遞至其他熟習此項技術者的手段。程序(procedure)、邏輯區塊或行程(process)在此處且通常構想為導致期望結果的步驟或指令的自我一致性(self-consistent)序列。步驟包含對實體量的實體操縱。通常(但未必),此等實體量呈能夠儲存、傳送、組合、比較以及以其他方式操縱於電腦系統中的電、磁性、光學或量子信號的形式。已證明主要出於常見用法的原因而時常將此等信號稱為位元、值、元素、符號、字元、項、數字或其類似者為便利的。
然而,應牢記,所有此等以及類似術語與適當實體量相關聯,且僅為應用於此等量的便利標籤。除非特定陳述,否則如自以下論述顯而易見,應瞭解,貫穿本申請案,利用諸如「處理」、「運算」、「計算」、「判定」、「顯示」或其類似者的術語的論述指操縱以及變換表示為實體(例如,電子)量的資料的電腦系統或類似處理裝置(例如,電、光學或量子計算裝置)的動作以及行程。 所述術語指將電腦系統的組件(例如,暫存器、記憶體、其他此類資訊儲存、傳輸或顯示裝置)內的實體量操縱或變換成類似地表示為其他組件內的實體量的其他資料的處理裝置的動作及行程。
IV.分佈式
應瞭解,所呈現的多模式方法可實施於分佈式架構中。分佈式架構可包含各種屬性。分佈式架構可在不限於單一個執行緒或具有單一個瓶頸的情況下根據器具或系統的數目線性地可調。相較於非分佈式架構,分佈式架構可極少降級或無降級地實施,此是因為多模式儲存管理系統可跨越多個儲存節點持續在SUE位址區塊層級處操作。
圖27為說明根據一個實施例的耦接至網路2705的例示性器具2701的方塊圖。應瞭解,網路2705可耦接至其他裝置或器具(圖中未示)。
在一個例示性實施中,器具2701可類似於系統600。器具2701或系統600可包含多模式儲存管理系統2710以及儲存裝置2720、2730、2740以及2750。
多模式儲存管理系統2710可包含處理器2713、記憶體2714、2715、2717以及2718、匯流排2719以及埠2711及2712。匯流排2719可為PCI匯流排,且埠2711及2712可為雙25G乙太網路埠。處理器2713可為4或6核英特爾至強(Intel Xeon),且記憶體2714、2715、2717以及2718可為64GB的RAM。在一個實施例中,可不存在對於PCIe橋接晶片的需要(其相較於使用PCIe橋接晶片的方法可導致減少成本以及功率消耗)。
儲存裝置2720、2730、2740以及2750可為多模式SSD。應瞭解,可存在分佈式系統的多種特性(例如,4個裝置或多模式SSD可以200W功率包絡進行操作,可因成本而充分利用過度佈建,且單一個PCIe配接器上可存在唯一硬體(HW))。在一個例示性實施中,可消除PCIe橋接晶片,從而節省成本以及功率消耗。
圖28為說明根據一個實施例的分佈式系統2800的方塊圖。分佈式系統2800可包含網路2890以及器具2810、2820、2830、2840、2850、2860、2870以及2880。器具2810、2820、2830、2840、2850、2860、2870以及2880中的每一者可包含多模式儲存管理系統以及多個儲存裝置(例如,2891、2892、2893以及2894)。在一個例示性實施中,器具2810、2820、2830、2840、2850、2860、2870以及2880中的每一者可類似於器具2701。
圖29為說明根據一個實施例的分佈式系統2900的方塊圖。分佈式系統2900可包含多個儲存節點2911、2912、2913以及2914,其包含全域命名空間2920。多個儲存節點2911、2912、2913以及2914可耦接至外部連接性機制2930,外部連接性機制又可耦接至包含FTP用戶端2941、ISCI組件2942、NFS組件2943、CIFS組件2944以及Web組件2945的多個外部組件。多個儲存節點2911、2912、2913以及2914亦可經由節點對節點連接性機制2950來進行耦接。多個儲存節點2911、2912、2913以及2914可儲存與包含FTP用戶端2941、ISCI組件2942、NFS組件2943、CIFS組件2944以及Web組件2945的多個外部組件相關的資訊。
應瞭解,上文關於單一個器具或系統所描述的選擇性基礎暴露方法可經擴展以供多個分佈式器具或系統利用。經邏輯定 址區塊可與選擇性基礎暴露(SUE)可定址區塊或單元相關聯。SUE可定址單元可經壓縮且與標頭相關聯,且接著可配置於儲存裝置傳送區塊(STB)中。所述關聯可類似於圖15中描繪的這些關聯。
然而,在分佈式方法中,分佈式SUE元區塊(DSUE元區塊)可包含與多個實體區塊相關聯的資訊,其中多個實體區塊中的僅一個區塊可位於單一個儲存裝置中,且可存在多個實體區塊中的位於與第一器具或節點相關聯的儲存裝置中的第一個以及多個實體區塊中的位於與第二器具或節點相關聯的儲存裝置中的第二個。在一個例示性實施中,DSUE元區塊可包含各SSD儲存於一個實體快閃記憶體區塊中的資訊,且資訊儲存可橫跨所有磁碟機以及所有節點。
在正常操作期間,存在主要區塊擁有者以及與所需要一樣多的冗餘區塊擁有者。主要區塊擁有者及冗餘區塊擁有者的概念可用於多個設計元件中。主要區塊擁有者可以是負責給定SUE元區塊生命週期以及自由空間帳戶處理的節點。冗餘區塊擁有者可以是負責用於給定SUE元區塊的自由空間帳戶處理資訊的冗餘複本的節點。冗餘區塊擁有者可在先前主要區塊擁有者的節點失敗後被提昇或改變為新的主要區塊擁有者。主要映射擁有者可以是用於給定邏輯位址的映射資訊的擁有者。次要映射擁有者可以是冗餘映射資訊的擁有者。
圖30為根據一個實施例的區塊生命週期的流程圖。
區塊3010為傳入主機資料被寫入至的多個區塊中的其中一個的熱區塊。區塊3020為在主機資料駐留所在的系統中非作用 的多個正常區塊中的其中一個。在一個例示性實施中,大多數主機資料駐留於正常區塊中且正常區塊構成系統中的大多數區塊。
區塊3030為藉由區塊挑選機制選擇以待回收(例如,作為廢棄項目收集的部分)的區塊的多個序列表中的一者。這些區塊可基於具有最多自由空間量而選擇。區塊3040為將有效資料自所挑選區塊移動至冷區塊的行程中涉及的回收區塊。冷區塊3080為來自回收區塊的有效資料被寫入至的多個區塊中的其中一個。被抹除區塊3050為在有效資料傳送至冷區塊3080之後被抹除的多個區塊的序列表中的區塊。
在一個實施例中,用於給定開啟區塊的空間分配可藉由單一個器具或系統上的單一個執行緒進行分配。在一個例示性實施中,對於單一個區塊,每個節點可存在經指定為熱區塊的一個區塊,且每個節點可存在經指定為冷區塊的一個區塊。主要區塊擁有者可將分配委託給區塊使用者且用於給定區塊的分配器可為區塊使用者。分配自身可單執行緒化且訊息的處理可並列化。若主要區塊擁有者失敗,則區塊被視為關閉且不會對區塊發生進一步的寫入直至執行回收(例如,廢棄項目收集)。
在一個實施例中,主要區塊擁有者(管理區塊生命週期以及自由空間帳戶處理的區塊)的概念可與空間分配器分離。因此,可使元區塊較小且較多。元區塊仍可橫跨多個磁碟機以及器具或節點,其僅分成較小塊。在一個例示性實施中,替代2K個區塊,存在2K*N'個區塊(其中N'=N升值捨位至2的最近冪次或1<<log2(N-1)+1)。節點可自其「自身」熱區塊以及冷區塊執行分配。資料自身仍可跨越多個節點散佈。同位資料寫入至節點自身。 若冗餘層級大於1,則可執行關於單獨節點的額外冗餘計算。
圖31為說明根據一個實施例的分佈式系統元區塊的方塊圖。分佈式選擇性基礎暴露(DSUE)元區塊可實施於4節點系統中,且原始SUE元區塊定義可再分成形成DSUE元區塊的4個新區塊。
舉例而言,可存在4個節點3110、3120、3130以及3140。節點3110可包含SSD 3111、3112、3113以及3114。節點3120可包含SSD 3121、3122、3123以及3124。節點3130可包含SSD 3131、3132、3133以及3134。節點3140可包含SSD 3141、3142、3143以及3144。原始SUE元區塊3151可再分成形成DSUE元區塊的4個新區塊(3152、3153、3154以及3155)。當節點經添加或刪除以使得2的冪被越過時,所產生的新區塊將採用新的大小。區塊挑選將完全基於百分比。
映射資料在邏輯上可跨越多個器具或系統冗餘地分佈。每一器具或系統可冗餘地管理映射資料的某一部分。器具或系統可計算映射資料的主要及冗餘擁有者。散列法(hash)可用以計算映射資料的主要及冗餘擁有者。對於讀取,可查詢這些器具或系統以查找映射資訊。對於寫入,這些器具或系統可對映射更新進行記錄(journal)且最終寫入映射資料。
多模式方法可實施於多種RAID版本中。RAID計算可使用里德所羅門(Reed Solomon;RS)抹除編碼以用於資料保護。RS編碼計算可藉由區塊擁有者執行。在一個例示性實施中,可利用失敗後援(這是因為主要器具或系統的損失不導致資料損失)。若大於一個符號待校正(例如,RAID 6),則可使用冗餘計算。
在一個實施例中,失敗單元可被視為單一個儲存節點且單一個儲存節點的失敗可能不會使器具或系統關機。分佈式架構亦可處理爆發半徑(blast radius)問題。爆發半徑涉及多少器具或系統受單一個元件的失敗影響(例如,在資料中心、設施、網路中)的問題。資料中心中的爆發半徑可被視為類似於企業高可用性(high availability;HA)問題。即使可經由複製以及其他技術處理失敗,在元件當中的影響的概念相對於可用性問題仍是重要的。在分佈式器具或系統方法中,可跨越N個器具或系統共用工作負載以允許M個失敗,從而得到N-M容量。通常在較少自訂的硬體上,冗餘被視為在較高階層或架構層級而非較低層級處。
在分佈式器具或系統方法中,自由空間管理可比非分佈式方法複雜。在一個實施例中,自由空間帳戶處理可發生在SUE位址區塊層級處。可在器具或系統之間分配實體區塊。每一器具或系統可追蹤自由空間以追尋「F」區塊。在一個實施例中,自由空間追蹤或帳戶處理可由以下關係表達:各器具或系統F個自由空間區塊等於N個實體區塊乘以M個冗餘區塊除以P個器具或系統。對於特定組態,對給定區塊追蹤自由空間的器具或系統的更確切數目可藉由儲存陣列中的任何器具或系統計算。
分佈式器具或系統方法亦可支援各種回收活動(例如,廢棄項目收集)。回收可藉由主要區塊擁有者起始,但由區塊使用者管理。回收可在區塊經分配至用於給定區塊使用者的冷頻帶之後開始。
區塊使用者可觸發分佈式區塊挑選。區塊可基於各種準則(例如,有效空間、無效空間)而被分配區塊挑選分數。每一 器具或系統可計算其範圍內的區塊(亦即,其正追蹤自由空間以追尋的區塊)的區塊挑選分數。可基於區塊挑選分數來選擇區塊,且可將選定區塊的指示傳回至接著進行另一整體區塊選擇以用於回收的主要區塊擁有者。在一個實例中,可將具有最佳區塊挑選分數的區塊傳回至主要區塊擁有者,且可選擇整體最佳區塊用於回收或廢棄項目收集。可將選定區塊的指示傳遞至器具或系統,其接著開始其對於超級區塊的其實體片段的回收(可類似於非分佈式多模式儲存管理系統)。每一器具或系統可執行實體掃描、用以判定其是否有效的查找,將分配請求發送至主要區塊擁有者,將資料發送至適當節點,且將映射更新發送至適當節點。每一器具或系統自身能夠在主機與回收資料之間進行節流。
在一個實施例中,可存在兩個所挑選區塊。一個區塊可在回收行程中且一個區塊可準備好用於回收行程。每一節點將排定用於回收的所挑選區塊的順序,但將分配其自身冷區塊中的空間。可存在可用於順序地在請求以及回應兩者時維護資料的最佳化。可存在其他可能的篩選條件,諸如資料過時、磁碟區/邏輯群聚、快照群聚等。
在寫入行程中,寫入命令可到達任何器具或系統。所述器具或系統可在寫入行程的整個流程中變成用於命令的編排器。可使用一致性散列法識別用於給定資料段的適當節點。在一個例示性實施中,散列法的解決方案具有僅1/n個索引鍵經移動以用於添加或刪除物件的改良屬性(其中n為散列表的槽的數目)。
圖32為根據一個實施例的用於添加以及移除節點中的一致性散列法的圖。實體自由空間帳戶處理可經由一致性散列法使 用不同隨機系統上的冗餘複本而跨越多個器具或系統均勻地分佈。邏輯位址空間的映射可經由一致性散列法使用不同隨機系統上的冗餘複本而跨越多個器具或系統均勻地分佈。
圖33為根據一個實施例的例示性寫入行程3300的流程圖。在步驟3310中,可接收寫入指示。寫入指示可來自主機且器具可壓縮資料。在步驟3320中,可執行寫入分配行程。在步驟3330中,可執行寫入資料傳送行程。在步驟3340中,可執行寫入映射更新行程。在步驟3350中,可執行寫入自由空間帳戶處理行程。在步驟3370中,可執行寫入完成行程。
圖34為根據一個實施例的例示性寫入分配行程3400的流程圖。在步驟3410中,第一器具可請求開啟的熱區塊中的分配。在步驟3420中,第二器具可執行分配行程。在步驟3430中,第一器具可自第二器具接收分配資訊。
圖35為說明根據一個實施例的實施寫入分配行程操作的分佈式系統的一個例示性實施的方塊圖。
分佈式系統3500可包含網路3590以及分佈式陣列3599。分佈式陣列3599可包含器具3510、3520、3530、3540、3550、3560、3570以及3580。器具3510、3520、3530、3540、3550、3560、3570以及3580中各自可包含一個多模式儲存管理系統以及多個儲存裝置(例如,3591、3592、3593以及3594)。在一個例示性實施中,器具3510、3520、3530、3540、3550、3560、3570以及3580中的每一個可類似於器具2701。
在步驟1)中,主機可將100KB資料寫入至器具3510。在步驟2)中,器具3510可壓縮資料。在步驟3)中,器具3510可 請求熱區塊中的分配。在步驟4)中,器具3530可執行分配且在步驟5)中,可將分配回應發送回至器具3510。在步驟6)中,器具3510可接收分配回應。
圖36為根據一個實施例的例示性寫入資料傳送行程3600的流程圖。在步驟3610中,可將資料發送至所分配器具。在步驟3620中,所分配器具可寫入資料。在步驟3630中,可發送資料以用於同位計算。
圖37為根據一個實施例的實施寫入資料傳送行程操作的分佈式系統的一個例示性實施的方塊圖。在步驟7)中,器具3510可將資料發送至所分配器具。在步驟8)中,器具3520、3530以及3540可寫入資料。在步驟9)中,器具3510可將資料發送至器具3570以用於同位計算,且在步驟10)中,器具3570可寫入同位資訊。
圖38為根據一個實施例的例示性寫入映射更新行程3800的流程圖。在步驟3810中,可將映射更新發送至主要以及冗餘擁有者。在步驟3820中,主要以及冗餘擁有者可對映射更新進行記錄(journal)且可在稍後寫入映射。在步驟3830中,主要以及冗餘擁有者可發送回應。在步驟3840中,可累積回應。
圖39為根據一個實施例的寫入映射更新行程操作的一個例示性系統實施的方塊圖。在圖39步驟11)中,器具3510可將映射更新發送至主要以及冗餘擁有者。在步驟12)中,器具3540、3550以及3560可寫入映射更新,且在步驟13)中,其可發送回應。在步驟14)中,器具3510可累積回應。
圖40為根據一個實施例的例示性寫入自由空間帳戶行程 4000的流程圖。在步驟4010中,可發送自由空間更新。在步驟4020中,器具可更新自由空間。在步驟4030中,器具可發送回應。在步驟4040中,可累積回應。
圖41為根據一個實施例的實施寫入自由空間帳戶處理程序操作的例示性系統的方塊圖。在步驟15中,器具3510可發送自由空間更新。在步驟16)中,器具3520、3560以及3570可更新自由空間,且在步驟17)中,其可發送回應。在步驟18)中,器具3510可累積回應。
圖42為根據一個實施例的例示性寫入完成行程4200的流程圖。在步驟4210中,寫入資料的器具可發送指示資料經安全寫入的指示。在步驟4220中,可累積回應。在步驟4230中,器具可發送指示同位經安全寫入的指示。在步驟4240中,可轉送命令完成指示。
圖43為根據一個實施例的實施寫入完成行程操作的例示性系統的方塊圖。在步驟19)中,寫入資料的器具3520、3530以及3540可轉送寫入資料經安全儲存的指示。在步驟20)中,器具3510可累積回應,且在步驟21)中,可自儲存同位的器具3570接收同位安全指示。在步驟22)中,可經由網路3590將命令完成指示轉送至其他儲存節點、其他設備或任何外部系統。
圖44為根據一個實施例的例示性回收初始化行程4400的方塊圖。當區塊變成準備好用於回收時,其可經導引至自由區塊清單。取決於多少熱區塊及冷區塊當前在作用中以及自由區塊清單中的區塊的數目,在抹除佇列的前端處的主要區塊擁有者可將其自身提昇為熱區塊或冷區塊。若區塊變為冷區塊,則其可激 起回收行程。
圖45為根據一個實施例的例示性回收行程4500的流程圖。在步驟4510中,可將區塊提昇為冷區塊,且可在必要時請求區塊挑選。在步驟4520中,可執行潛在區塊的區塊挑選以用於回收且可轉送結果。在步驟4530中,可執行區塊挑選選擇。在步驟4540中,可廣播選定區塊。在步驟4550中,可開始回收且可發出映射查找。在步驟4560中,可處理映射回應。在步驟4570中,可執行回收寫入行程。
圖46至圖51為說明根據一個實施例的例示性回收實施的方塊圖。實體自由空間帳戶處理可經由散列法使用不同隨機系統上的冗餘複本而跨越系統均勻地分佈。關於映射,邏輯位址空間可經由散列法使用不同隨機系統上的冗餘複本而跨越系統均勻地分佈。在一個實例中,器具3520 BB可為自由區塊清單中的下一者且可決定變成冷區塊。
圖46為繪示在步驟51)中區塊已變成冷區塊且必要時請求區塊挑選的來自器具3520的廣播的方塊圖。當回收很可能已在進行中時,由提昇為冷區塊而產生的分配請求可極快地開始,此是因為佇列中將已存在所挑選區塊。
圖47為繪示在步驟52)中其他器具執行區塊挑選且將結果發送回至器具3520的方塊圖。當回收並未運行且區塊挑選是必要的時,系統或器具(包含請求系統或器具)可執行區塊挑選。在步驟53)中,器具3520可選擇區塊。
圖48為說明在步驟54)中所挑選區塊的例示性廣播的方塊圖。
圖49為說明在步驟55)中器具3540基於判定資料是否有效的標頭而向器具3510發出映射查找的方塊圖。應瞭解,多個器具可執行回收且為簡單起見繪示器具3540。器具3540可開始在所挑選區塊的開始部分處發出映射查找(使用隱藏標頭(例如,圖15的標頭區段1511)以判定第一標頭)。
圖50為說明器具3540處理來自器具3510的映射回應的步驟57)的方塊圖。若資料無效,則行程可動至下一標頭(假定其有效)上。資料可溢出至器具3550是可能的。若資料有效,則可自器具3550提取資料的第二部分(順序未圖示)。
圖51為說明回收寫入行程的方塊圖。除發送原始位置資訊作為映射更新的部分以允許捨棄過時更新外,用於回收寫入行程的步驟可類似於主機寫入操作。在步驟71)中,器具3520可執行分配,且在步驟72)中,器具3540可請求冷區塊中的分配。在步驟73)中,器具3520可發送分配回應,且在步驟74)中,器具3540可接收分配資訊。
所呈現的多模式方法包含促進資訊的有效及高效儲存的多種特徵及特性。所述特徵及特性可改良與效能相關聯的許多不同特質。在一個實施例中,所描述分割方法的靈活性允許實現相對較快速度及可管理複雜度。相對大量的使用者資料可儲存於實現使用者資料的極快儲存及管理操作的SUE位址空間中。另一方面,相對少量的元資料可儲存於經邏輯定址區域中,從而允許系統充分利用用於複雜度降低的元資料的抽象化性質。
另外,增加相對較小元資料區的過度佈建的靈活性產生大得多的百分比過度佈建的影響,其幫助了加速元資料儲存操作 以及補償速度減小,即,將在其他方面歸因於複雜度增加而發生的速度減小。相較於其他儲存系統,此情況允許過度佈建資源的較佳整體分配及較佳影響。靈活性亦可藉由允許區塊的不同儲存區能夠在兩個分割區之間重新指派或重新分配來促進改良的生命週期保持。儲存於區中的資料的性質(例如,類型)可指示一種類型資料比所述區中的另一類型的資料較少地寫入/抹除(例如,大部分元資料相較於使用者資料無大的改變),且可將一個分割區中的實體區塊重新指派至另一分割區以均衡特定區上的損耗以及磨損。靈活性亦藉由將功率循環職責上移至系統層級而允許功率循環改良。
在一個實施例中,多模式選擇性基礎暴露儲存裝置或方法可包含於包含多個網路附接儲存(network attached storage;NAS)裝置(例如,儲存裝置100、MM-SSD 400、系統600、系統700)的分佈式系統或共用儲存系統(例如,NAS系統或叢集)中。多模式選擇性基礎暴露NAS裝置可為網路中的其他裝置(例如,用戶端、伺服器等)提供資料儲存服務。儲存服務可包含對於極大資料集(通常被稱為「大數據(big data)」)的儲存、管理以及維護。在一個例示性實施中,多模式選擇性基礎暴露NAS裝置可包含於一般儲存及維護異動資料的資料庫的線上異動處理(online transaction processing;OLTP)系統中或可為所述線上異動處理系統的部分。資料庫管理系統(database management system;DBMS)或分佈式DBMS可在OLTP中跨越電腦系統或儲存裝置的叢集而分割資料庫。
能夠靈活地重新配置或移動不同類型的資料及/或儲存管 理操作至系統(例如,網際網路、網路連接「雲端」、資料中心、網路等)的不同部分實現多種更大能力。多模式選擇性基礎暴露儲存方法實現對涉及分裂不同類型的資料以及位址存取的應用的利用。在一個實施例中,被視為大(big或large)的類型的資訊(諸如,「使用者資料」)可儲存於系統(例如,雲端、資料中心或網路)的一個部分中,而被視為小的其他類型的資料(諸如,「元資料」)可在系統(例如,雲端、資料中心或網路)的另一部分中加以處置。舉例而言,在過去,通常並不以不同方式分裂或存取使用者資料以及元資料。
在多模式選擇性基礎暴露系統的情況下,常常被存取的「大數據」可藉由更好地適合於儲存此類型的資訊(例如,經實體定址)或更接近能夠更好地處理所述資訊的處理能力的儲存區域處置(藉此減少延遲以及對網路通信的影響)。「小數據」或元資料可儲存於以降低的複雜度邏輯存取的較小儲存區域中。
依據電腦記憶體內的資料位元的操作的程序、邏輯區塊、行程以及其他符號表示來呈現詳細描述的一些部分。此等描述及表示為大體上由熟習資料處理技術者用以將其工作的主旨有效地傳遞至其他熟習此項技術者的手段。程序、邏輯區塊或行程在此處且通常構想為導致期望結果的步驟或指令的自我一致性序列。步驟包含對實體量的實體操縱。通常(但未必),此等實體量呈能夠儲存、傳送、組合、比較以及以其他方式操縱於電腦系統中的電、磁性、光學或量子信號的形式。已證明主要出於常見用法的原因而時常將此等信號稱為位元、值、元素、符號、字元、項、數字或其類似者為便利的。
然而,應牢記,所有此等以及類似術語與適當實體量相關聯,且僅為應用於此等量的便利標籤。除非特定陳述,否則如自以下論述顯而易見,應瞭解,貫穿本申請案,利用諸如「處理」、「運算」、「計算」、「判定」、「顯示」或其類似者的術語的論述指操縱以及變換表示為實體(例如,電子)量的資料的電腦系統或類似處理裝置(例如,電、光學或量子計算裝置)的動作以及行程。所述術語指將電腦系統的組件(例如,暫存器、記憶體、其他此類資訊儲存、傳輸或顯示裝置)內的實體量操縱或變換成類似地表示為其他組件內的實體量的其他資料的處理裝置的動作及行程。
應僅自概念觀點來理解在概念圖中的每一者中繪示的組態。為了輔助理解本揭露內容,已誇示或減小在每一概念圖中繪示的每一組件的形式、結構以及大小。實際上實施的組態可具有與每一概念圖中繪示的形狀不同的實體形狀。每一概念圖不意欲限制組件的實體形狀。
提供每一方塊圖中所繪示的裝置組態以輔助理解本揭露內容。每一區塊可根據功能由較小區塊形成。替代地,多個區塊可根據功能形成較大區塊。亦即,本揭露內容的精神或範疇不限於方塊圖中所繪示的組態。
在上文中,已基於一些實例實施例描述本揭露內容。然而,本揭露內容的目的可藉由不同於包含根據此項技術的性質的本揭露內容的標的物的上述實例實施例的方式達成。因此,應理解,上述實例實施例以描述性以及說明性視圖而非限制性視圖說明。亦即,包含本揭露內容的標的物且可達成本揭露內容的目標 的精神或範疇應包含於本揭露內容的發明性概念的精神或範疇內。
因此,不脫離本揭露內容的範疇或精神的經修改或變更技術概念應包含於下文申請專利範圍的範疇中。本揭露內容的範疇不限於上述實例實施例。
600:系統
610:多模式儲存管理系統
611、621、631、641、651:控制器
620、630、640、650:多模式SSD(MM-SSD)
671、672、673:磁碟區

Claims (20)

  1. 一種分佈式儲存系統,包括:多個器具,其中所述多個器具中的至少一個包括多個儲存裝置;分佈式多模式儲存管理協調器,包括含多個多模式儲存管理系統,所述多模式儲存管理系統經配置以導引資訊至所述多個儲存裝置的輸送;以及通信機制,在所述多個多模式儲存管理系統之間傳遞訊息,包括多個分佈式多模式儲存管理訊息,其中各所述多個儲存裝置包括:第一儲存分割區,包括第一類型的介面及第一資訊儲存區,所述第一資訊儲存區經配置以儲存第一類型的資訊;以及第二儲存分割區,包括選擇性基礎暴露介面及儲存第二類型的資訊的第二資訊儲存區,其中所述選擇性基礎暴露介面暴露所述第二資訊儲存區的特質;且其中所述多個多模式儲存管理系統包括多模式選擇性基礎暴露管理系統,所述多模式選擇性基礎暴露管理系統經配置以根據所述選擇性基礎暴露介面所暴露的特質,經由所述選擇性基礎暴露介面導引所述第二儲存分割區的檔案活動,所述特質包括將回應於包括抹除命令在內的個別管理命令而一起管理的多個基礎實體位址區塊進行分群。
  2. 如申請專利範圍第1項所述的分佈式儲存系統,其中所述分佈式多模式儲存管理訊息使選定基礎特質跨越所述多個器具 暴露。
  3. 如申請專利範圍第1項所述的分佈式儲存系統,其中元資料儲存空間以及使用者資料儲存空間跨越所述多個器具而均勻地展開。
  4. 如申請專利範圍第1項所述的分佈式儲存系統,其中選擇性基礎暴露位址空間映射跨越所述多個器具而維持,且其中所述選擇性基礎暴露位址空間映射的代表性幾何組態匹配於基礎實體位址空間的代表性幾何組態。
  5. 如申請專利範圍第1項所述的分佈式儲存系統,其中冗餘是在所述多個多模式儲存管理系統的層級被控制。
  6. 如申請專利範圍第1項所述的分佈式儲存系統,其中所述多個器具配置於架構中,所述架構的元件跨越多個系統而線性地可調。
  7. 如申請專利範圍第1項所述的分佈式儲存系統,其中所述分佈式多模式儲存管理協調器跨越所述多個儲存裝置基於選擇性基礎暴露層級而進行操作。
  8. 如申請專利範圍第1項所述的分佈式儲存系統,其中節點包括一個以上的儲存裝置且其中單一個單元的失敗不會使所述分佈式儲存系統關機。
  9. 如申請專利範圍第1項所述的分佈式儲存系統,其中自由空間帳戶處理發生在選定基礎特質區塊層級。
  10. 一種分佈式儲存方法,包括:在獨立磁碟冗餘陣列組態中設置多個器具,其中所述多個器具中的至少一個包含多個儲存裝置;以及 管理所述多個儲存裝置中的資訊儲存,其中管理所述資訊儲存包括將第一類型的位址空間映射至選擇性基礎暴露位址空間中,且其中所述選擇性基礎暴露位址空間對應於所述多個儲存裝置中的至少一個的特質,所述特質包括將回應於包括抹除命令在內的個別管理命令而一起管理的多個基礎實體位址區塊進行分群。
  11. 如申請專利範圍第10項所述的分佈式儲存方法,其中映射資料在邏輯上跨越所述多個儲存裝置而冗餘地分佈。
  12. 如申請專利範圍第10項所述的分佈式儲存方法,其中管理所述資訊儲存包括跨越所述獨立磁碟冗餘陣列組態而協調所述多個儲存裝置中的所述資訊儲存的管理。
  13. 如申請專利範圍第12項所述的分佈式儲存方法,其中協調所述多個儲存裝置中的所述資訊儲存的管理包括在所述多個器具中的第一器具與所述多個器具中的第二器具之間傳遞訊息。
  14. 如申請專利範圍第12項所述的分佈式儲存方法,其中自由空間帳戶處理發生在多模式儲存管理系統層級。
  15. 如申請專利範圍第12項所述的分佈式儲存方法,其中回收是由觸發分佈式區塊挑選的主要區塊擁有者進行管理且所挑選的區塊被分佈至另一區塊。
  16. 如申請專利範圍第12項所述的分佈式儲存方法,其中非主要區塊擁有者執行實體掃描以及有效判定查找。
  17. 一種分佈式設施,包括:多個器具,經配置而以條帶為單位來儲存資訊,其中所述多個器具中的至少一個包括多個固態儲存裝置; 分佈式多模式儲存管理協調器,包括多個多模式儲存管理系統,所述多個多模式儲存管理系統經配置以導引資訊至所述多個固態儲存裝置的輸送;以及通信機制,在所述多個多模式儲存管理系統與所述多個器具之間傳遞訊息,其中各所述多個固態儲存裝置包括:第一儲存分割區,包括第一類型的介面及第一資訊儲存區,所述第一資訊儲存區經配置以儲存第一類型的資訊;以及第二儲存分割區,包括選擇性基礎暴露介面及儲存第二類型的資訊的第二資訊儲存區,其中所述選擇性基礎暴露介面暴露所述第二資訊儲存區的特質;且其中所述分佈式多模式儲存管理協調器包括多模式選擇性基礎暴露管理系統,所述多模式選擇性基礎暴露管理系統經配置以經由所述選擇性基礎暴露介面以及所述第二儲存分割區的選定基礎特質導引所述第二儲存分割區的檔案活動,所述選定基礎特質包括將回應於包括抹除命令在內的個別管理命令而一起管理的多個基礎實體位址區塊進行分群。
  18. 如申請專利範圍第17項所述的分佈式設施,更包括跨越多個系統在實體上等量化元資料以及使用者資料。
  19. 如申請專利範圍第17項所述的分佈式設施,其中冗餘是在比儲存裝置更高階層層級的所述分佈式多模式儲存管理協調器的層級被控制。
  20. 如申請專利範圍第17項所述的分佈式設施,其中失敗 單元為儲存節點且單一個節點的失敗不會使所述分佈式設施關機,其中所述儲存節點包含所述多個器具其中一個。
TW105129518A 2015-11-13 2016-09-12 分佈式儲存系統、分佈式儲存方法及分佈式設施 TWI709073B (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US14/941,525 2015-11-13
US14/941,525 US9940028B2 (en) 2015-11-13 2015-11-13 Multimode storage device
US14/941,512 US9990304B2 (en) 2015-11-13 2015-11-13 Multimode storage management system
US14/941,517 US9996473B2 (en) 2015-11-13 2015-11-13 Selective underlying exposure storage mapping
US14/941,512 2015-11-13
US14/941,517 2015-11-13
US14/947,931 2015-11-20
US14/947,931 US9946642B2 (en) 2015-11-13 2015-11-20 Distributed multimode storage management

Publications (2)

Publication Number Publication Date
TW201729068A TW201729068A (zh) 2017-08-16
TWI709073B true TWI709073B (zh) 2020-11-01

Family

ID=56990228

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105129518A TWI709073B (zh) 2015-11-13 2016-09-12 分佈式儲存系統、分佈式儲存方法及分佈式設施

Country Status (6)

Country Link
US (1) US9946642B2 (zh)
EP (1) EP3168737A3 (zh)
JP (1) JP2017091548A (zh)
KR (1) KR20170056418A (zh)
CN (1) CN106708425B (zh)
TW (1) TWI709073B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI788890B (zh) * 2021-03-24 2023-01-01 日商鎧俠股份有限公司 記憶體系統

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180150256A1 (en) * 2016-11-29 2018-05-31 Intel Corporation Technologies for data deduplication in disaggregated architectures
EP3646193B1 (en) 2017-06-30 2023-03-15 Microsoft Technology Licensing, LLC Online schema change of range-partitioned index in distributed storage system
US11487734B2 (en) 2017-06-30 2022-11-01 Microsoft Technology Licensing, Llc Staging anchor trees for improved concurrency and performance in page range index management
US11042512B1 (en) * 2017-08-02 2021-06-22 EMC IP Holding Company LLC Enabling granular snapshots and provisioning in NAS (network attached storage) clusters
US10067719B1 (en) * 2017-08-30 2018-09-04 Xanadu Big Data, Llc Methods and systems for storing and accessing data in a distributed data storage system
KR102457564B1 (ko) 2017-09-20 2022-10-21 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
JP6785205B2 (ja) 2017-09-21 2020-11-18 キオクシア株式会社 メモリシステムおよび制御方法
US10970226B2 (en) 2017-10-06 2021-04-06 Silicon Motion, Inc. Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device
JP7032908B2 (ja) * 2017-10-24 2022-03-09 株式会社Nobori 医療情報転送システム及び医療情報転送方法
JP2019079464A (ja) 2017-10-27 2019-05-23 東芝メモリ株式会社 メモリシステムおよび制御方法
JP6982468B2 (ja) 2017-10-27 2021-12-17 キオクシア株式会社 メモリシステムおよび制御方法
CN107967124B (zh) * 2017-12-14 2021-02-05 南京云创大数据科技股份有限公司 一种分布式持久性内存存储系统及方法
US11210166B1 (en) * 2017-12-22 2021-12-28 Pliops Ltd. Efficient redundancy management in key-value NAND flash storage
KR102603245B1 (ko) * 2018-01-11 2023-11-16 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN108595731B (zh) * 2018-01-23 2022-02-08 苏州盛科通信股份有限公司 一种以太网芯片中动态表项的设计方法及装置
WO2019152805A1 (en) 2018-02-02 2019-08-08 Dover Microsystems, Inc. System and method for translating mapping policy into code
CN110275757A (zh) * 2018-03-16 2019-09-24 北京忆恒创源科技有限公司 利用系统抽象层提供多协议存储设备
US11151037B2 (en) 2018-04-12 2021-10-19 International Business Machines Corporation Using track locks and stride group locks to manage cache operations
US10831597B2 (en) 2018-04-27 2020-11-10 International Business Machines Corporation Receiving, at a secondary storage controller, information on modified data from a primary storage controller to use to calculate parity data
US10884849B2 (en) 2018-04-27 2021-01-05 International Business Machines Corporation Mirroring information on modified data from a primary storage controller to a secondary storage controller for the secondary storage controller to use to calculate parity data
TW201945971A (zh) 2018-04-30 2019-12-01 美商多佛微系統公司 用於檢查安全性能的系統和方法
CN109144413A (zh) * 2018-07-27 2019-01-04 郑州云海信息技术有限公司 一种元数据管理方法及装置
US10884662B2 (en) * 2018-08-06 2021-01-05 Silicon Motion, Inc. Method for performing storage control in a storage server, associated memory device and memory controller thereof, and associated storage server
US12050552B2 (en) 2018-10-03 2024-07-30 Google Llc Maintaining block level snapshots using free storage space
KR20200044460A (ko) * 2018-10-19 2020-04-29 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
WO2020097177A1 (en) 2018-11-06 2020-05-14 Dover Microsystems, Inc. Systems and methods for stalling host processor
US11841956B2 (en) 2018-12-18 2023-12-12 Dover Microsystems, Inc. Systems and methods for data lifecycle protection
US10884642B2 (en) 2019-03-27 2021-01-05 Silicon Motion, Inc. Method and apparatus for performing data-accessing management in a storage server
US11074124B2 (en) * 2019-07-23 2021-07-27 Alibaba Group Holding Limited Method and system for enhancing throughput of big data analysis in a NAND-based read source storage
US11311800B2 (en) * 2019-08-09 2022-04-26 Sony Interactive Entertainment LLC Systems implementing high-speed data communication fabric for cloud gaming data storage and retrieval
US12079197B2 (en) 2019-10-18 2024-09-03 Dover Microsystems, Inc. Systems and methods for updating metadata
US11005936B1 (en) * 2020-03-10 2021-05-11 Mediatek Inc. Security mechanism for multi-client access to a single storage device through a single controller
US11481273B2 (en) 2020-08-17 2022-10-25 Micron Technology, Inc. Partitioned memory having error detection capability
CN112394884A (zh) * 2020-11-18 2021-02-23 珠海全志科技股份有限公司 减少ubi子系统管理开销的方法、ubi子系统及介质
CN112817730B (zh) * 2021-02-24 2022-08-16 上海交通大学 深度神经网络服务批处理调度方法、系统及gpu
US11662922B2 (en) 2021-10-18 2023-05-30 Hewlett Packard Enterprise Development Lp Shared storage allocation among data services
US12019899B2 (en) * 2022-03-03 2024-06-25 Western Digital Technologies, Inc. Data relocation with protection for open relocation destination blocks
JP2023137910A (ja) 2022-03-18 2023-09-29 キオクシア株式会社 メモリシステムおよび制御方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8639669B1 (en) * 2011-12-22 2014-01-28 Emc Corporation Method and apparatus for determining optimal chunk sizes of a deduplicated storage system
US20150058591A1 (en) * 2013-01-08 2015-02-26 Lyve Minds, Inc. Storage network data distribution

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658528B2 (en) 2001-07-30 2003-12-02 International Business Machines Corporation System and method for improving file system transfer through the use of an intelligent geometry engine
US6775751B2 (en) 2002-08-06 2004-08-10 International Business Machines Corporation System and method for using a compressed main memory based on degree of compressibility
WO2005124530A2 (en) 2004-06-21 2005-12-29 Kabushiki Kaisha Toshiba Method for controlling memory card and method for controlling nonvolatile semiconductor memory
US7631245B2 (en) 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
KR100809320B1 (ko) 2006-09-27 2008-03-05 삼성전자주식회사 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑정보 관리 장치 및 방법
US8312247B2 (en) 2008-06-20 2012-11-13 Panasonic Corporation Plural-partitioned type nonvolatile storage device and system
US8094500B2 (en) 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US9134918B2 (en) 2009-12-31 2015-09-15 Sandisk Technologies Inc. Physical compression of data with flat or systematic pattern
US8738846B2 (en) 2010-10-15 2014-05-27 Arkologic Limited File system-aware solid-state storage management system
US8849825B1 (en) * 2010-12-23 2014-09-30 Amazon Technologies, Inc. System and method for clustering distributed hash table entries
US9176864B2 (en) 2011-05-17 2015-11-03 SanDisk Technologies, Inc. Non-volatile memory and method having block management with hot/cold data sorting
US8886910B2 (en) * 2011-09-12 2014-11-11 Microsoft Corporation Storage device drivers and cluster participation
KR20130096881A (ko) 2012-02-23 2013-09-02 삼성전자주식회사 플래시 메모리 장치
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9141626B2 (en) * 2013-03-14 2015-09-22 Microsoft Technology Licensing, Llc Volume having tiers of different storage traits
US9804960B2 (en) 2013-03-14 2017-10-31 Western Digital Technologies, Inc. Overprovision capacity in a data storage device
US9727456B2 (en) 2014-11-03 2017-08-08 Pavilion Data Systems, Inc. Scheduled garbage collection for solid state storage devices
US9626312B2 (en) 2015-07-17 2017-04-18 Sandisk Technologies Llc Storage region mapping for a data storage device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8639669B1 (en) * 2011-12-22 2014-01-28 Emc Corporation Method and apparatus for determining optimal chunk sizes of a deduplicated storage system
US20150058591A1 (en) * 2013-01-08 2015-02-26 Lyve Minds, Inc. Storage network data distribution

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI788890B (zh) * 2021-03-24 2023-01-01 日商鎧俠股份有限公司 記憶體系統

Also Published As

Publication number Publication date
US9946642B2 (en) 2018-04-17
KR20170056418A (ko) 2017-05-23
EP3168737A2 (en) 2017-05-17
CN106708425A (zh) 2017-05-24
EP3168737A3 (en) 2017-08-02
CN106708425B (zh) 2021-10-22
US20170139823A1 (en) 2017-05-18
JP2017091548A (ja) 2017-05-25
TW201729068A (zh) 2017-08-16

Similar Documents

Publication Publication Date Title
TWI709073B (zh) 分佈式儲存系統、分佈式儲存方法及分佈式設施
TWI710900B (zh) 儲存裝置及方法
US11907569B1 (en) Storage deveice that garbage collects specific areas based on a host specified context
JP7404442B2 (ja) 格納媒体を多重モードで動作させる管理システム、それを含む格納システム、及びそれを利用して格納媒体を管理する方法
CN106708424B (zh) 对用户数据执行选择性底层暴露映射的设备和方法
US9798655B2 (en) Managing a cache on storage devices supporting compression
KR20170008153A (ko) 비휘발성 장치에서 데이터 속성 기반 데이터 배치를 활용하기 위해 컴퓨터를 구동하는 경험적 인터페이스
US11016676B2 (en) Spot coalescing of distributed data concurrent with storage I/O operations
Aghayev et al. Reconciling LSM-Trees with Modern Hard Drives using BlueFS
US20240241675A1 (en) Storage allocation techniques for large writes based on reserving one or more additional chunks of a block
Son et al. An Empirical Performance Evaluation of Transactional Solid-State Drives