TWI716416B - 儲存系統、用於管理儲存媒體的方法以及系統、操作儲存系統的方法、以及非暫存性電腦可讀媒體 - Google Patents
儲存系統、用於管理儲存媒體的方法以及系統、操作儲存系統的方法、以及非暫存性電腦可讀媒體 Download PDFInfo
- Publication number
- TWI716416B TWI716416B TW105120232A TW105120232A TWI716416B TW I716416 B TWI716416 B TW I716416B TW 105120232 A TW105120232 A TW 105120232A TW 105120232 A TW105120232 A TW 105120232A TW I716416 B TWI716416 B TW I716416B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- block
- storage
- selective
- sue
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
Abstract
一種儲存系統包含多個儲存裝置,其具有具第一類型介
面的第一分割區以及具選擇性下伏暴露(SUE)介面的第二分割區。第二分割區的選定下伏態樣暴露於儲存系統中。儲存系統亦包含多模式儲存管理系統,其將資訊的傳輸導引至儲存裝置。多模式儲存管理系統包含經由所述SUE介面以及第二分割區的選定下伏態樣導引第二分割區的活動的控制器。
Description
本發明是關於資訊儲存。
眾多電子技術(例如,數位電腦、計算器、音訊裝置、視訊裝備、電話系統及/或類似者)在商務、科學、教育以及娛樂的大多數領域中具有增加的生產率且具有減少的成本。此等電子系統執行涉及資訊儲存系統的操作。資訊儲存操作進行的速度以及簡易性可對資訊儲存系統的總體效能具有顯著的影響。然而,資訊儲存的習知嘗試通常涉及速度與可管理複雜度之間的相反關係。
資訊儲存系統涉及可屬於兩個類別中的一者的操作。一個類別涉及與使用者起始的活動相關聯的儲存操作。另一類別涉及由系統起始的管理以及維護活動。此等操作進行的速度以及簡易性與經利用以儲存資訊的位址空間的類型相關聯。
對利用經實體定址的空間的傳統嘗試在理論上視為按極快速速度操作,但對習知經實體定址的空間的實際管理以及維護
操作的嘗試極複雜且未予以切實實施。習知邏輯位址空間的管理以及維護視為涉及比實體位址空間少的複雜度。然而,習知邏輯位址空間並不如實體位址空間那麼快速地操作。
儘管習知儲存系統可在可能先前已被視為可接受的層級操作,但此等儲存系統愈來愈不足以符合對改良的應用以及平台的要求以及長期需要。對達成增大的速度以及可管理複雜度兩者以實現改良系統開發的習知嘗試尚未成功。
根據本發明的一個實施例,一種儲存系統包含多個儲存裝置,其具有具第一類型介面的第一分割區以及具選擇性下伏暴露(selective underlying exposure;SUE)介面的第二分割區。所述第二分割區的選定下伏態樣暴露於所述儲存系統中。所述儲存系統亦包含多模式儲存管理系統,其將資訊的傳輸導引至所述多個儲存裝置。所述多模式儲存管理系統包含經由所述SUE介面以及所述第二分割區的所述選定下伏態樣導引所述第二分割區的活動的控制器。
根據本發明的另一個實施例,一種用於管理與儲存系統相關聯的儲存裝置陣列中的儲存媒體的電腦實施方法包含將使用者資料映射至SUE位址空間中,所述SUE位址空間對應於與所述儲存系統相關聯的所述儲存裝置陣列中的實體儲存區域的代表性幾何形狀。
根據本發明的又一實施例,一種用於管理與儲存系統相關聯的儲存裝置陣列中的儲存媒體的系統包含儲存機器指令的記
憶體,以及執行所述指令以將使用者資料映射至SUE位址空間中的處理器。所述SUE位址空間對應於與所述儲存系統相關聯的所述儲存裝置陣列中的實體儲存區域的代表性幾何形狀。
在隨附圖式以及以下描述中闡述本發明的一或多個實施例的細節。本發明的其他特徵、目標以及優點將自描述以及圖式以及自申請專利範圍顯而易見。
100:儲存裝置
101:選擇性下伏暴露(SUE)儲存分割區
102:選擇性下伏暴露(SUE)介面
103:下伏儲存區
220:多模式儲存裝置
230:第一分割區
231:第一類型的介面
233:下伏儲存區
240:第二分割區
241:第二類型的介面
243:下伏儲存區
350:多模式儲存裝置/儲存裝置
370:第一分割區
371:第一類型的介面
372:第一分割區相關活動
373:下伏儲存區
380:第二分割區
381:選擇性下伏暴露(SUE)介面
383:下伏儲存區
400:多模式固態磁碟機(MM-SSD)/多模式儲存裝置
410:邏輯位址空間分割區
411:邏輯介面
412:下伏實體位址空間
413:快閃轉譯邏輯(FTL)
420:SUE位址空間分割區
421:選擇性下伏暴露(SUE)介面
423:下伏實體位址空間
470:晶粒
471~474、479:塊
501:選擇性下伏暴露(SUE)介面
502:實體位址空間
503:SUE位址塊
505、507、508:資訊
511~514:晶粒
515:實體塊/塊
517、519:實體塊
521~524:晶粒
528:實體塊
531~534:晶粒
539:實體塊
541~544:晶粒
600:系統
610:多模式儲存管理系統
611、621、631、641、651:控制器
620、630、640、650:MM-SSD
671、672、673:容積
700:系統
710:器具
720:多模式儲存管理系統
730:元資料
740:使用者資料
741:快閃管理系統(FMS)
742:SUE映射程式
745:控制器
750:MM-SSD
770:邏輯位址空間分割區
771:快閃管理系統(FMS)
772:邏輯介面
773:快閃轉譯邏輯(FTL)
775:控制器
777:實體位址空間
780:SUE位址空間分割區
782:選擇性下伏暴露(SUE)介面
787:實體位址空間
791、792:邏輯位址塊
793:實體位址塊
797:邏輯位址塊
798:SUE位址塊
799:實體位址塊
810、820、830、840:操作
910:經邏輯定址的SSD
911、921:邏輯介面
912、922:快閃轉譯邏輯(FTL)
913、923:邏輯位址空間
920:多模式固態磁碟機(MM-SSD)
924:選擇性下伏暴露(SUE)介面
925:實體位址空間
930:經實體定址的SSD
931:實體介面
932:實體位址空間
1010:SUE塊
1012、1014、1016、1018:實體塊
1021~1024:離散實體頁面
1030:SUE頁面
1032、1034、1036、1038:實體介面
1110:SUE塊(S-塊)
1121~1124:SUE頁面(S-頁面)
1210:元頁面(M-頁面)
1211~1215:SUE頁面(S-頁面)
1310:元塊(M-塊)
1311~1314:元頁面(M-頁面)
1410:元塊(M-塊)
1411~1415:SUE塊(S-塊)
1500:SUE映射方案
1502:使用者資料
1503~1505:SUE可定址單元
1507~1509:經壓縮SUE可定址單元
1511~1513:標頭部分
1515、1517:SSD轉移塊(STB)
1521~1528、1541~1548、1571~1578:邏輯塊位址
1531~1538、1551~1558、1581~1588:經邏輯定址塊
1591~1594:SUE頁面(S-頁面)
1598:元頁面(M-頁面)
1599:元塊(M-塊)
1602:儲存系統
1604:處理器
1606:記憶體
1608:網路介面
1610:輸入/輸出(I/O)裝置
1612:顯示裝置
1614:匯流排
1616:非揮發性記憶體裝置
1618:局部資料連結
1702、1704、1706、1708、1710、1712、1714、1716:操作
1802:多模式儲存管理系統
1804:SUE儲存管理器
1806:邏輯儲存管理器
1808:回收管理器
1810:儲存陣列管理器
1902:多模式儲存管理系統
1904:資料對準單元(DAU)
1906:SUE儲存存取管理器
1908:資料壓縮管理器
1910:容積映射引擎
1912:緩衝管理器
1914:元塊管理器
1916:回收管理器
1918:儲存陣列管理器
1920:邏輯儲存存取管理器
2002:多模式儲存管理系統
2004:資料對準單元(DAU)
2006:使用者區域存取管理器(UAAM)
2008:使用者區域映射引擎(UAME)
2010:緩衝管理器(BM)
2012:系統區域存取管理器(SAAM)
2014:元塊管理器(MBM)
2016:元塊資訊管理器(MBI)
2018:儲存裝置控制管理器(SCM)
2020:儲存裝置存取管理器(SAM)
2022:全局狀態管理器(GSM)
2024:全局錯誤管理器(GEM)
2026:系統狀態管理器
2028:系統登入以及統計管理器
2030:目標裝置
2032:非揮發性記憶體(NVM)裝置
2102:讀取管理器(RM)
2104:寫入管理器(WM)
2106:資料壓縮管理器(DC)
2108:資料解壓縮管理器(DD)
2110:回收管理器(RC)
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)管理器
2506:讀取查找引擎(RLE)
2508:儲存初始化管理器(SI)
2602:電力故障管理器(PFM)
2604:錯誤與損毀管理器(PFCM)
併入於本說明書中且形成其一部分的隨附圖式,經包含用於對本發明的原理的例示性說明,且並不意欲將本發明限制於在其中所說明的特定實施。圖式並不按比例繪製,除非另外具體指示。
圖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)的示意圖。
提供所有上述特徵以及以下描述以輔助理解本揭露內容。亦即,本揭露內容不應被解釋為限於本文所闡述的「實例」實施例,且可以不同形式予以體現。以下實施例僅為用於充分地揭露本發明的實例,且描述以下實施例以向熟習此項技術者提供本發明的概念。因此,若存在實施本揭露內容的組件的許多方式,則應理解,可藉由所述方式中的任一者或其類似物中的任一者實施本揭露內容。
若在本揭露內容中提到任何組態包含/包括特定組件或任何過程包含/包括特定操作,則此意謂可進一步包含其他組件或其他操作。亦即,本文中所使用的術語僅意欲描述特定實例實施例,且並不意欲限制本揭露內容的範疇。另外,所提供以輔助理解本揭露內容的所描述實例包含其互補性實施例。
本文所使用的術語具有熟習此項技術者將通常理解的含義。通常使用的術語在本揭露內容的上下文中應被理解為一致的含義。另外,不應以過度理想或形式的意義解釋本文所使用的術語,除非本文如此明確地定義。
描述可使用多種不同類型的位址空間以及位址空間活動的有效率且有效多模式儲存方法。在一些實施例中,多模式選擇性下伏暴露(SUE)儲存裝置實現選擇性地暴露儲存裝置的一些下伏態樣而不暴露其他下伏態樣。多模式儲存以及SUE方法可改良
效能,同時將複雜度限制於可管理範疇。
在一些例示性實施中,可選擇性地暴露實體位址空間的下伏態樣。可實施總體儲存階層式方法,且可選擇性地將一個階層式層級的下伏態樣暴露於另一階層式層級。選擇性暴露可經由位址空間組態以及位址空間之間的映射而發生。經選擇性地暴露的下伏態樣可較有效率且有效地實施在不同於具有經暴露下伏態樣的階層式層級的階層式層級處予以執行的各種活動。各種活動可包含儲存管理操作。應瞭解,多模式儲存以及SUE方法可包含多種組態以及實施。
在下文中,以下將參考隨附圖式描述本揭露內容的實例實施例。
I.多模式儲存裝置
圖1為說明根據一個實施例的包含選擇性下伏暴露(SUE)儲存分割區101的例示性儲存裝置100的方塊圖。SUE儲存分割區101可包含選擇性下伏暴露(SUE)介面102以及下伏儲存區103。
下伏儲存區103可儲存資訊且SUE介面102可選擇性地將下伏儲存區103自身(例如,與尺寸、代表性幾何形狀、管理功能、寫入操作、抹除操作或類似者相關的實體態樣)的態樣(例如,特性、特徵、功能或類似者)暴露於外部組件或儲存系統階層式層級(未繪示)。暴露可與儲存於下伏儲存區103中的資訊(使用者資料以及元資料(metadata))的態樣相關聯。SUE儲存分割
區101可暴露下伏態樣(例如,特性、特徵、功能或類似者)的一部分。
在暴露下伏態樣的一部分的一個例示性實施中,可比並不選擇性地暴露下伏態樣的一部分的系統有效率地(例如,更快,較少頻寬,以及較少功率消耗)執行與所暴露態樣相關聯的活動(例如,自由空間管理、自由空間使用的回收以及調節、過度供應、修整操作、功率循環或類似者)。可以比暴露較多或所有下伏態樣的方法較少的複雜度而執行活動。
在一些實施例中,可基於比較或平衡速度與複雜度而判定對暴露下伏態樣的哪一部分的選擇。應瞭解,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)中執行,且可針對另一分割區在外部(未繪示)執行。
不同類型的資訊可儲存於不同分割區中。在一些實施例中,可能存在兩種類型的資訊,例如,元資料以及使用者資料。使用者資料可主要由使用者應用產生且元資料可主要為與使用者
資料相關聯的輔助資訊(例如,儲存系統階層中的檔案的位置、檔案中的內容的大小、存取時間、修改時間、使用者ID或類似者)。第一快閃管理系統可聚焦於管理元資料。元資料又可用以管理使用者資料的儲存。
應瞭解,儲存系統可以與相關聯於管理或維護活動的系統操作不同的方式導引或實施與使用者起始的活動相關聯的操作。舉例而言,可自使用者視角將使用者起始的讀取或寫入導引至特定位址或位置,同時可自系統視角將系統操作導引至實體塊以及頁面。
亦應理解,儲存裝置350可包含多種組態以及實施。在一些實施例中,儲存裝置350可為固態裝置。儲存裝置350可包含快閃組件(例如,NAND型快閃組件、NOR型快閃組件或類似者)。
圖4說明根據一個實施例的例示性多模式固態磁碟機(MM-SSD)400的方塊圖。多模式固態磁碟機(solid state drive;SSD)400可為多模式儲存裝置的一個例示性實施。多模式固態磁碟機400可包含邏輯位址空間分割區410、可包含快閃轉譯邏輯FTL 413的邏輯介面411、下伏實體位址空間412、SUE位址空間分割區420、SUE介面421以及下伏實體位址空間423。
邏輯位址空間分割區410可接收且儲存經邏輯定址的系統資料(例如,元資料),且SUE位址空間分割區420可接收根據下伏暴露位址空間而定址的使用者資料(例如,應用資料)。使用者資料可儲存於可包含快閃儲存組件(例如,不同類型的浮動閘極電晶體)的下伏實體位址空間423中。可按多種組態以及粒度
佈置快閃儲存組件。舉例而言,快閃儲存組件可經佈置為多個晶粒,且多個模具當中的晶粒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)偏移對準的方式),且實體位址空間可為多維的,包含諸如錯誤校正碼(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可包含以通信方式耦接至包含於器具710中的多模式儲存管理系統720的多模式SSD(MM-SSD)750。器具710可為各種電腦/電子器具(裝置)中的任一者。應瞭解,其他多模式SSD可耦接至多模式儲存管理系統720。系統700可管理元資料730以及使用者資料740的儲存。
多模式儲存管理系統720可包含控制器745。控制器745可包含快閃管理系統741(用於使用者資料)以及SUE映射程式742。
多模式SSD 750可包含邏輯位址空間分割區770以及SUE位址空間分割區780。邏輯位址空間分割區770可包含實體位址空間777以及控制器775,控制器775可包含快閃管理系統771(用於元資料)。快閃管理系統771可包含邏輯介面772,邏輯介面772可包含FTL 773。實體位址空間777可包含NAND快閃。SUE位址空間分割區780可包含SUE介面782以及實體位址空間787,實體位址空間787可包含NAND快閃。
元資料730資訊可接收於邏輯位址塊791中且在邏輯位址塊792中轉發,且自多模式管理系統720遞送至邏輯位址空間分割區770。應瞭解,邏輯位址塊791與792可相同(例如,邏輯位址塊791可不變且僅轉發至邏輯位址空間分割區770)。
邏輯介面772可將與元資料相關聯的邏輯塊位址(logical block address;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)的指數性不利影響。
舉例而言,在RAID(獨立磁碟的冗餘陣列)儲存系統中存在需要一起加以處理(例如,資料儲存以及對應同位儲存)的許多項目,其在上部儲存階層層級(例如,RAID系統管理層級)以及下部儲存階層層級(例如,儲存驅動層級)處產生影響。資訊的生命週期可針對每一層級而不同(例如,使用者可能想要覆寫資訊,但RAID系統可能仍需要資訊用於同位重新計算),從而導致驅動層級為使用者寫入「新」資料,但系統層級仍為RAID系統保持「舊」資訊。此在無進行修整能力的情況下產生寫入放大因數。
圖8為描述根據一個實施例的驅動多模式選擇性下伏暴露(MM-SUE)的方法的流程圖。
具有7%的過度供應的驅動(例如,SSD)比不具有驅動器過度供應(例如,HDD)的直接覆寫系統工作起來困難15倍,且亦比不具有系統過度供應的系統困難另外15倍,總共更困難225(15×15)倍。允許將FMS向上移動至上部儲存階層層級的多模式儲存裝置促進返回向下的減小(例如,7%的過度供應在僅比不具有過度供應的系統困難15倍的範圍中工作,且28%的過度供應在僅比不具有過度供應的系統困難3倍的範圍中工作),從而導致寫入放大因數的減小。在一些例示性實施中,用以自上部儲存階層層級導引管理操作的選定下伏位址塊以及頁面可與下伏實體層級協調或匹配下伏實體層級。此允許使用者層級處的資訊的生命週期變得不同於系統層級處的資訊的生命週期,但自管理觀點,兩個生命週期可對準為相同(例如,使用者層級處的生命週期的持續時間以及系統層級處的生命週期的持續時間可對應於使用者空間的使用以及抹除)。
在操作810中,可將裝置的第一部分組態或指定為用於儲存第一類型的資訊的第一區。在一些實施例中,第一區可為元資料區且第一類型的資訊可為元資料。錯誤校正碼(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操作,而可主要在系統層級處在多模式SSD 920外部的控制器(例如,圖7的控制器745)中執行針對實體位址空間925的FMS操作。
分裂或劃分多模式SSD 920的FMS操作的此能力不同於用於並不允許FMS操作的分裂或劃分的SSD 910以及SSD 930的FMS操作方法。主要在經邏輯定址的SSD 910的內部控制器中執行經邏輯定址的SSD 910的FMS操作,而主要在系統層級處在經
實體定址的SSD 930外部的控制器中執行經實體定址的SSD 930的FMS操作。
在一些實施例中,多模式SSD 920可選擇性地暴露一些下伏位址空間特徵,且經邏輯定址的SSD 910以及經實體定址的SSD 930並不促進選擇性暴露一些下伏位址空間特徵,且亦不暴露其他。在一些實施例中,將下伏態樣暴露至外部FMS(例如,多模式儲存管理系統720)可涉及映射下伏態樣的選定暴露。
I.選擇性下伏暴露(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。
可關於多模式儲存裝置上的晶粒的一或多個離散分群上的記憶體胞元塊而執行自由空間的抹除以及管理。舉例而言,多模式儲存裝置可包含一百二十八(128)個晶粒,且可關於來自作為群組或單元的一百二十八個晶粒中的每一者的一個塊而抹除以及管理自由空間。替代地,多模式儲存裝置可包含一百二十八個晶粒,且可關於來自作為群組的晶粒的一子集(例如,三十二個晶粒的分群)的一個塊而抹除以及管理自由空間。
圖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塊的離散區段或片段,且可聯合地程式化此等離散區段或片段。
舉例而言,在一些實施例中,多模式儲存裝置可包含一百二十八個晶粒,且可聯合地抹除且管理包含於每一晶粒中的各別實體塊上的自由空間。對應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,例示性元頁面(M-頁面)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可為各別SUE塊1411、1412、1413、1414以及1415的聚合,各別SUE塊選自包含於儲存系統中的多模式儲存裝置(例如,620、630、640以及650)中的每一者中的經聯合地管理晶粒的每一子集。類似地,元頁面1210可為選自元塊1410中的對應SUE塊1411、1412、1413、1414以及1415中的每一者對應SUE頁面(例如,1211、1212、1213、1214以及1215)的聚合。
在本發明的一些實施例中,可在元塊層級處執行某些記
憶體媒體管理功能(例如,抹除、程式化、回收(無用數據收集)、自由空間管理或類似者)。換言之,可在儲存系統層級,而非個別儲存裝置層級處協調此等記憶體媒體管理功能。
為了實現所要系統層級記憶體管理,可將使用者資料專用的邏輯位址空間映射至SUE位址空間,使用者資料(例如)由應用以及虛擬機(VM)操作系統定址。因此,可經由下伏暴露介面定址包含於儲存系統中的多模式儲存裝置的使用者區域。系統層級記憶體映射以及管理導致較低寫入放大因數,較低寫入放大因數允許減小的儲存區供應,從而導致成本節省。
圖15為描繪根據本發明的實施例的可由多模式儲存系統實施以提供自邏輯位址至SUE位址的位址映射的例示性SUE映射方案的方塊圖。
參看圖15,說明本發明的實施例中的可由儲存系統(諸如,圖6的多模式儲存管理系統610)實施以提供自邏輯位址至SUE位址的位址映射的SUE映射方案1500。SUE映射方案1500可使邏輯位址空間與SUE位址空間相關。SUE位址空間可揭示下伏實體儲存媒體的顯著特徵。SUE位址空間可用以定址包含於儲存系統中的多個儲存裝置的聚合實體儲存空間。
舉例而言,可自主機應用以及虛擬機操作系統接收使用者資料1502而作為輸入。可將主機使用者資料組織成對應於與本機主機檔案系統、介面標準或類似者相關聯的邏輯塊大小(例如,一條512K位元組資訊)的儲存單元,例如,經邏輯定址塊或邏輯塊。所接收使用者資料的每一邏輯塊可由邏輯塊位址(LBA)定址。舉例而言,在一些實施例中,輸入邏輯塊定址可與由美國國
家標準學會(ANSI)頒佈的小電腦系統介面(SCSI)標準相關聯。
使用者資料1502的經邏輯定址塊可組合成SUE可定址單元,或混合型映射系統(HMS)映射塊(HMB)。在一些實施例中,整數個邏輯塊可經分群以形成SUE可定址單元。舉例而言,在圖15中,八個邏輯塊經組合以形成每一SUE可定址單元。在替代性實施例中,任何完全或部分數目個邏輯塊可經組合以形成SUE可定址單元。
在一些實施例中,SUE可定址單元可具有用於儲存系統的最小粒度的映射。在各種實施例中,SUE可定址單元大小可包含4K位元組、8K位元組或任何其他適合的大小或塊的資訊。
在一些實施例中,儲存系統可包含一組容積,且每一容積可包含一組SUE可定址單元且每一可定址單元可包含一組邏輯單元。不同容積可分別利用不同的SUE可定址單元大小。應瞭解,容積可具有許多特性。容積可對應於:應用、單使用者層級檔案系統、邏輯驅動器、名稱空間(例如,與給定名稱空間相關聯的鄰接邏輯位址的集合)、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。
在一些實施例中,錯誤檢查(諸如錯誤校正碼(error-correcting code;ECC))可不關於使用者資料1502在系統層級處予以實施,但確切而言,錯誤檢查必須由個別多模式儲存裝置實施。
與使用者資料相關聯的元資料可儲存於多模式儲存裝置
(例如,350、400或620)的經邏輯定址系統區域中。舉例而言,在一些實施例中,使用邏輯塊定址而定址的多模式儲存裝置中的記憶體胞元的分割區可儲存可將SUE可定址單元映射至SUE位址空間中的映射表。舉例而言,映射表可儲存指標,指標中的每一者可指向個別SUE可定址單元。因此,可使用SUE可定址單元的映射以及邏輯塊以及SUE可定址單元的對應偏移來判定SUE位址空間中的使用者資料的邏輯塊的對應儲存位置。
在一些實施例中,資訊可儲存於容積(例如,671、672以及673)中。可存在多個容積或名稱空間,且不同容積或名稱空間可與不同大小SUE可定址單元相關聯。亦應瞭解,不同大小容積或名稱空間可與相同大小SUE可定址單元相關聯。
圖16為描繪可實施圖15的SUE映射方案的例示性儲存系統的示意圖。如在圖16中所說明,例示性儲存系統1602可包含處理器1604、記憶體1606、網路介面1608、輸入/輸出(I/O)裝置1610、顯示裝置1612、匯流排1614以及多個非揮發性記憶體裝置1616。儲存裝置1602的各組件可由局部資料連結1618耦接,局部資料連結1618在各種實施例中併入有(例如)位址匯流排、資料匯流排、串行匯流排、平行匯流排或此等者的任何組合。
處理器1604可包含適合於控制儲存系統1602的任何一般或特殊應用數位處理器。記憶體1606可包含適合於儲存資料以及指令用於由處理器1604存取的任何數位記憶體裝置。
網路介面1608可包含適合於以通信方式將儲存系統1602連接至通信網路(例如,區域網路(LAN)或網際網路協定(IP)網路)的任何網路連接介面。網路介面1608可實施儲存網
路連接標準,例如,網際網路小電腦系統介面(iSCSI)協定。
輸入/輸出裝置1610可包含用於將數位資訊發送至儲存系統1602或自儲存系統1602接收數位資訊的任何合適的裝置。顯示裝置1612可包含用於顯示文字或圖形使用者介面(graphical user interface;GUI)的任何合適的裝置。
匯流排1614可包含(例如)周邊組件互連快速(peripheral component interconnect express;PCIe)匯流排,或用於儲存系統中的通信的任何其他合適的高速串列擴展匯流排。匯流排1614可利用標準NVM快速(NVM 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映射方案的實施例。
過程在操作1702處開始,其中(例如)自主機應用或虛擬機作業系統接收使用者資料。可在邏輯塊中組織所接收使用者資料,且所接收使用者資料由邏輯塊位址定址。邏輯塊可對應於與本機主機檔案系統、資料庫或類似者相關聯的最小可定址記憶體胞元大小。
在操作1704中,如上文所描述,可將邏輯塊組合成SUE可定址單元。舉例而言,可將整數個邏輯塊分群以形成每一SUE可定址單元。在操作1706中,可視情況對SUE可定址單元中的使用者資料執行資料壓縮演算法,如上文所解釋。(在圖17中用虛線繪示的組件為可選項目。)
在操作1708中,可產生標頭區段且將其添加至每一SUE可定址單元。可產生標頭區段以包含(例如)供用於回收以及資料恢復活動中的資訊,如上文所描述。在操作1710中,經壓縮SUE可定址單元以及標頭區段可置放於儲存裝置轉移塊中,如上文所解釋。
在操作1712中,如上文所進一步解釋,可結合整數個儲存裝置轉移塊且使其對準至SUE頁面,且在操作1714中可將對應於SUE頁面的儲存裝置轉移塊傳送至待儲存於使用者區域中的多模式儲存裝置。在操作1716中,可將關於SUE頁面中的使用者資
料的元資料發送至多模式儲存裝置以儲存於系統區域中,如上文所描述。
III.多模式儲存管理系統
本發明的另一實施例展示於圖18中,圖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可使用邏輯位址映射方案(諸如,邏輯塊定址(logical block addressing;LBA))將系統資料映射至儲存裝置的系統區域。邏輯儲存管理器1806可經由至儲存裝置的邏輯介面存取儲存於系統區域中的系統資料。
因此,在一些實施例中,可將相關聯儲存裝置或多個相關聯儲存裝置中的每一者的記憶體空間細分或分割成單獨儲存區域或位址空間,包含經邏輯定址系統區域以及SUE經定址使用者區域。儲存裝置可包含兩個主機介面:邏輯主機介面,其可提供對經邏輯定址系統區域的存取;及SUE主機介面,其可提供對SUE位址使用者區域的存取。關於系統資料的非揮發性記憶體管理功能可由個別儲存裝置控制器執行。
回收管理器1808可提供非揮發性記憶體管理(包含自由空間管理以及回收,或無用數據收集),在儲存系統層級處關於使用者資料而起作用。因此,包含於儲存系統中的個別儲存裝置可不針對使用者資料執行局部回收(無用數據收集)。回收管理器1808可實施各種自由空間管理以及回收方法。在一些實施例中,回收管理器1808亦可執行在本發明中所描述的新穎自由空間管理以及回收方法。
儲存陣列管理器1810,或獨立磁碟的冗餘陣列(RAID)管理器可關於使用者資料而為包含於儲存系統中的多個儲存裝置的陣列提供儲存管理,包含資料恢復功能。因此,包含於儲存系
統中的個別儲存裝置可不為使用者資料執行晶粒層級RAID功能。儲存陣列管理器1810可實施各種儲存管理以及資料恢復方法。在一些實施例中,儲存陣列管理器1810亦可執行在本揭露內容中所描述的新穎儲存管理以及資料恢復方法。
現參看圖19,說明使用SUE定址方案以便允許儲存系統定址儲存裝置(諸如,圖16的儲存系統1602)中的邏輯以及SUE儲存空間的另一例示性多模式儲存管理系統1902。多模式儲存管理系統1902可包含資料對準單元(data alignment unit;DAU)1904、SUE儲存存取管理器1906、資料壓縮管理器1908、容積映射引擎1910、緩衝管理器1912、元塊管理器1914、回收管理器1916、儲存陣列管理器1918以及邏輯儲存存取管理器1920。
資料對準單元(DAU)1904可自小電腦系統介面(Small Computer System Interface;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。
資料壓縮管理器1908可作為SUE定址方案之子功能(或作為互補功能)對使用者資料執行壓縮演算法。由資料壓縮管理器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可管理讀取以及寫入緩衝集區。在寫入操作期間,緩衝管理器1912可累積自寫入緩衝器中的SUE儲存存取管理器1906接收的儲存裝置轉移塊,直至大致使用者資料的完整元頁面在單獨地藉助於儲存陣列管理器1918將使用者資料作為SUE頁面發送至個別儲存裝置之前已累積。
在讀取操作期間,緩衝管理器1912可提供讀取緩衝器以支援讀取快取記憶體功能。作為儲存裝置轉移塊自儲存陣列管理器1918接收的使用者資料的SUE頁面可保存於讀取緩衝器中,直至被轉發至SUE儲存存取管理器1906。
元塊管理器1914可追蹤界定於儲存裝置的使用者區域中的個別元塊的當前狀態,例如,已抹除、有效、關閉、回收或正抹除。當前狀態可儲存於可儲存於記憶體中且備份於儲存裝置的系統區域中的元塊資訊表中。元塊管理器1914亦可保持元塊的對應清單當前在特定狀態中,諸如,已抹除清單、回收清單以及正抹除清單。元塊管理器1914可選擇特定元塊用於提交至SUE儲存存取管理器1906以供回收活動。
回收管理器1916可服務來自元塊管理器1914的自所指定元塊恢復有效使用者資料以及將有效使用者資料重定位至其他元塊的回收請求。回收管理器1916可請求抹除以及回收對應於所指定元塊的實體記憶體胞元,以在儲存裝置的所述中提供自由空間。
儲存陣列管理器1918可提供與儲存裝置的使用者區域的SUE介面,以及與儲存裝置的系統區域的邏輯介面。儲存陣列管
理器1918可提供資料保護功能,諸如,RAID條串化以及同位檢查。舉例而言,在一些實施例中,儲存裝置轉移塊可用作RAID元件,且RAID條可包含位於元頁面中的所有SUE頁面上的儲存裝置轉移塊。因此,若儲存系統中的單個儲存裝置發生故障,則儲存陣列管理器1918能夠使用反向同位計算自發生故障的儲存裝置恢復資料。
邏輯儲存存取管理器1920可使用邏輯定址方法提供系統資料讀取以及寫入功能。邏輯儲存存取管理器1920可儲存且擷取關於使用者資料的元資料,包含使用者區域映射表、元塊資訊表、容積表以及儲存系統檔案、記錄檔檔案以及類似者。
關於儲存於使用者區域中的使用者資料,個別非揮發性記憶體裝置可負責某些記憶體媒體管理功能(例如,讀取重試、故障實體塊映射、錯誤校正程式碼(ECC)、進階型遞增步驟脈衝程式化(incremental step pulse programming;ISPP)或類似者)。關於儲存於系統區域中的系統資料,個別非揮發性記憶體裝置可負責所有記憶體媒體管理功能(例如,回收、耗損均衡、讀取以及寫入快取、讀取重試、故障實體塊映射、錯誤校正程式碼(ECC)、高階遞增步驟脈衝程式化(ISPP)或類似者)。
現參看圖20,說明使用SUE定址方案以便允許儲存系統定址儲存裝置中的邏輯以及SUE儲存空間的另一例示性多模式儲存管理系統2002,或混合型映射系統(hybrid mapping system;HMS)。
多模式儲存管理系統2002可充當全局快閃轉譯層(global flash translation layer;GFTL),GFTL負責關於跨包含於儲存系統
中的多個儲存裝置而分佈的使用者區域的非揮發性記憶體媒體管理。多模式儲存管理系統2002可執行非揮發性記憶體媒體存取功能、將主機應用邏輯位址空間要素映射至對準至實體非揮發性記憶體位置的SUE位址空間資料結構的位址映射功能、回收以及耗損均衡功能。
多模式儲存管理系統2002可包含資料對準單元(DAU)2004、使用者區域存取管理器(user area access manager;UAAM)2006、使用者區域映射引擎(user area mapping engine;UAME)2008、緩衝管理器(buffer manager;BM)2010、系統區域存取管理器(system area access manager;SAAM)2012、元塊管理器(metablock manager;MBM)2014、元塊資訊管理器(metablock information manager;MBI)2016、儲存裝置控制管理器(storage device control manager;SCM)2018、儲存裝置存取管理器(storage device access manager;SAM)2020、全局狀態管理器(global state manager;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映射塊或混合型映射塊(hybrid mapping block;HMB)。舉例而言,在一些實施例中,整數個邏輯塊可經分群以形成SUE映射塊。
資料對準單元2004可合併自目標裝置2030到達的對準與未對準使用者資料訊務兩者,從而對未對準寫入訊務執行讀取/修改/寫入操作以便將資料對準至用於將邏輯位址映射至實體位址的單元(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、資料壓縮管理器(data compression;DC)2106、資料解壓縮管理器(data decompression;DD)2108、回收管理器(reclamation;
RC)2110、自由空間帳戶管理器(free space account;FSA)2112、流程控制管理器(flow control;FC)2114以及服務品質管理器(quality of service;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中的減小等級。在一些實施例中,可使用系統管理員命令確立資源供應的所需要層級。流程控制管理器2114可向系統管理員提供統計,統計可用於介面層級調節。
服務品質管理器(QoS)2116可基於系統資源供應層級
以及潛時量測而定義服務品質策略。服務品質管理器2116可實施多個佇列以服務不同服務品質策略集區。關於基於潛時的策略,服務品質管理器2116可對佇列條目實施時戳。服務品質管理器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可提供創造、毀壞以及管理容積以及操縱多個供應策略的服務。容積管理器2202可維持可儲存於記憶體中且備份於系統區域中的容積表中的相關資訊,且可提供對容積表中的條目的存取服務。容積管理器2202可使用系統區域存取管理器2012備份以及恢復容積表。
當映射頁面錯失由映射頁面快取記憶體管理器2208偵測到時,映射頁面讀取管理器(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或固態裝置(solid state device;SSD)控制管理器(SCM)可包含儲存裝置登入以及統計管理器(storage device logging and statistics;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可包含邏輯存取管理器(SLA)2502、RAID管理器(RAID)2504、讀取查找引擎(read lookup engine;RLE)2506以及儲存初始化(storage initialization)管理器(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條串化以及同位檢查。舉例而言,在一些實施例中,儲存裝置轉移塊可用作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位址空間中。而相對小量的元資料可儲存於經邏輯定址的區域中,所述經邏輯定址的區域允許儲存系統充分利用用於降低複雜度的元資料的抽象化性質。
此外,增大相對較小元資料區的過度供應的靈活性給出幫助加速元資料儲存操作以及補償將歸因於複雜度的增加而另外發生的速度減小的大得多的百分比的過度供應影響。如與其他儲存系統相比,此允許較佳總體分配以及過度供應資源的較佳影響。靈活性亦可藉由允許塊的不同儲存區被重新指定或重新分配於兩個分割區之間來促進改良的生命週期保持。儲存於區中的資料的性質(例如,類型)可指示一種類型資料比區中的另一類型資料較少地寫入/抹除(例如,大多數元資料與使用者資料相比並未改變得多),且可將一個分割區中的實體塊重新指定至另一分割區以整平特定區上的磨損。所述靈活性亦藉由將功率循環責任向
上移動至系統層級而允許功率循環改良。
就程序、邏輯塊、處理以及電腦記憶體內的資料位元上的操作的其他符號表示來呈現詳細描述的一些部分。此等描述以及表示為通常由熟習資料處理技術者用以有效地將其工作的實質輸送至其他熟習此項技術者的方式。程序、邏輯塊或過程在此處,且通常設想為導致所要的結果的步驟或指令的自相一致序列。步驟包含實體量的實體操控。通常,但未必,此等實體量呈能夠在電腦系統中儲存、傳送、組合、比較和另外操控的電、磁性、光學或量子信號的形式。主要出於常用的原因,已證實將這些信號稱作位元、值、元素、符號、字符、項、數或類似者時常為便利的。
然而,應牢記,所有此等以及類似術語將與適當實體量相關聯,且僅為應用於此等量的便利標籤。除非另外特定陳述為自以下論述顯而易見,否則應瞭解,貫穿本申請案,利用諸如「處理」、「計算(computing)」、「計算(calculating)」、「判定」、「顯示」或類似者的術語指操縱且變換表示為實體(例如,電子)量的資料的電腦系統或類似處理裝置(例如,電、光學或量子計算裝置)的動作以及過程。術語指操控或將電腦系統的構件(例如,暫存器、記憶體、其他此等資訊儲存、傳輸或顯示裝置)內的實體量變換成類似地表示為其他組件內的實體量的其他資料的處理裝置的動作以及過程。
應僅自概念觀點理解在概念圖中的每一者中繪示的組態。為了輔助理解本揭露內容,已放大或減小在每一概念圖中繪示的每一組件的形式、結構以及大小。實際上所實施的組態可具
有與在每一概念圖中所繪示的實體形狀不同的實體形狀。每一概念圖不意欲限制組件的實體形狀。
提供繪示於每一方塊圖中的裝置組態以輔助理解本揭露內容。每一塊可根據功能而由較小塊形成。替代地,多個塊可根據功能而形成較大塊。亦即,本揭露內容的精神或範疇不限於繪示於方塊圖中的組態。
在上文,已基於一些實例實施例而描述本揭露內容。然而,可以與上述實例實施例(包含根據此項技術的性質的本揭露內容的標的物)不同的方式達成本揭露內容的目的。因此,應理解,以上實例實施例呈描述性以及說明性視圖,而非限制性視圖。亦即,包含本揭露內容的標的物且可達成本揭露內容的目標的精神或範疇應包含於本揭露內容的發明性概念的精神或範疇內。
因此,未脫離本揭露內容的範疇或精神的經修改或更改的技術概念包含於以下申請專利範圍的範疇中。本揭露內容的範疇不限於以上實例實施例。
600:系統
610:多模式儲存管理系統
611、621、631、641、651:控制器
620、630、640、650:MM-SSD
671、672、673:容積
Claims (18)
- 一種儲存系統,包括:儲存裝置,具有多個晶粒,所述多個晶粒包含多個第一晶粒及多個第二晶粒,所述多個晶粒中的每一晶粒具有多個塊的記憶體胞元,每一塊的記憶體胞元具有記憶體位址及多個頁面的記憶體胞元,每一頁面的記憶體胞元具有記憶體頁面位址;以及系統控制器,耦接至所述儲存裝置,所述系統控制器用以:接收多個使用者邏輯塊位址及與每一使用者邏輯塊位址相關聯的資料,所述資料儲存於元頁面中,所述元頁面在對應的多個晶粒中的對應的多個塊的記憶體胞元中具有多個頁面的記憶體胞元;以及將所述多個使用者邏輯塊位址映射至多個選擇性下伏暴露位址,使得多個不同的使用者邏輯塊位址映射至每一選擇性下伏暴露位址,所述多個選擇性下伏暴露位址定址所述多個第一晶粒,使得每一選擇性下伏暴露位址定址不同晶粒,其中所述系統控制器接收及轉發多個元資料邏輯塊位址及與每一元資料邏輯塊位址相關聯的元資料,且其中所述儲存裝置更具有邏輯介面以接收轉發的元資料邏輯塊位址及與每一元資料邏輯塊位址相關聯的元資料且將轉發的所述元資料邏輯塊位址轉譯為對應的記憶體塊位址。
- 如申請專利範圍第1項所述的儲存系統,其中所述選擇性下伏暴露位址包括晶粒位址、選擇性下伏暴露塊位址及選擇性下伏暴露頁面位址。
- 如申請專利範圍第2項所述的儲存系統,其中所述儲存裝置選擇性下伏暴露介面,所述選擇性下伏暴露介面將選擇性下伏暴露塊位址轉譯為記憶體塊位址且將選擇性下伏暴露頁面位址轉譯為記憶體頁面位址。
- 如申請專利範圍第3項所述的儲存系統,其中所述系統控制器更用以組合多個經邏輯定址塊以創造多個選擇性下伏暴露可定址單元。
- 如申請專利範圍第4項所述的儲存系統,其中所述系統控制器更用以:壓縮所述多個選擇性下伏暴露可定址單元為多個經壓縮選擇性下伏暴露可定址單元及多個對應的標頭,使得每一經壓縮選擇性下伏暴露可定址單元具有標頭;將所述多個經壓縮選擇性下伏暴露可定址單元及所述多個對應的標頭置放於多個轉移塊中;以及將整數個轉移塊對準至選擇性下伏暴露頁面,所述選擇性下伏暴露頁面具有選擇性下伏暴露頁面位址。
- 如申請專利範圍第5項所述的儲存系統,其中所述元頁面為元塊中的多個元頁面中的一者。
- 如申請專利範圍第6項所述的儲存系統,其中所述系統控制器更用以產生包括多個選擇性下伏暴露塊的元塊,每一選擇性下伏暴露塊包括多個選擇性下伏暴露頁面,每一選擇性下伏暴露頁面具有選擇性下伏暴露位址。
- 一種用於管理與儲存系統相關聯的儲存裝置的陣列中的 儲存媒體的方法,所述方法包括:藉由處理器,將使用者資料映射至選擇性下伏暴露(SUE)位址空間中,所述選擇性下伏暴露位址空間對應於與所述儲存系統相關聯的所述儲存裝置的陣列中的實體儲存區的代表性幾何形狀;將與所述使用者資料相關聯的多個邏輯位址映射至所述選擇性下伏暴露位址空間中的位址的元塊中,其中所述元塊對應於作為與所述陣列中的所述儲存裝置中的每一者中的單元而加以聯合地管理多個實體塊的記憶體胞元,其中所述儲存裝置中的每一者中所述多個實體塊的記憶體胞元對應於所述選擇性下伏暴露位址空間中的位址的單獨選擇性下伏暴露塊。
- 如申請專利範圍第8項所述的方法,其中將所述使用者資料映射至所述選擇性下伏暴露位址空間中更包括將與所述使用者資料相關聯的所述多個邏輯位址的子集映射至所述元塊中的位址的元頁面中,所述元頁面對應於每一單獨選擇性下伏暴露塊的選擇性下伏暴露頁面。
- 一種操作儲存系統的方法,所述方法包括:接收多個使用者邏輯塊位址及與每一使用者邏輯塊位址相關聯的資料,所述資料儲存於元頁面中,所述元頁面在對應的多個晶粒中的對應的多個塊的記憶體胞元中具有多個頁面的記憶體胞元;將所述多個使用者邏輯塊位址映射至多個選擇性下伏暴露位址,使得多個不同的使用者邏輯塊位址映射至每一選擇性下伏暴露位址,所述多個選擇性下伏暴露位址定址多個第一晶粒,使得 每一選擇性下伏暴露位址定址不同晶粒,其中選擇性下伏暴露位址包括晶粒位址、選擇性下伏暴露塊位址及選擇性下伏暴露頁面位址;將選擇性下伏暴露塊位址轉譯為記憶體塊位址且將選擇性下伏暴露頁面位址轉譯為記憶體頁面位址;組合多個經邏輯定址塊以創造多個選擇性下伏暴露可定址單元;壓縮所述多個選擇性下伏暴露可定址單元為多個經壓縮選擇性下伏暴露可定址單元及多個對應的標頭,使得每一經壓縮選擇性下伏暴露可定址單元具有標頭;將所述多個經壓縮選擇性下伏暴露可定址單元及所述多個對應的標頭置放於多個轉移塊中;以及將整數個轉移塊對準至選擇性下伏暴露頁面,所述選擇性下伏暴露頁面具有選擇性下伏暴露頁面位址。
- 如申請專利範圍第10項所述的方法,更包括接收及轉發多個元資料邏輯塊位址及與每一元資料邏輯塊位址相關聯的元資料。
- 如申請專利範圍第11項所述的方法,更包括將所述元資料邏輯塊位址轉譯為對應的實體記憶體塊位址。
- 如申請專利範圍第10項所述的方法,其中所述元頁面為元塊中的多個元頁面中的一者。
- 如申請專利範圍第10項所述的方法,更包括產生包括多個選擇性下伏暴露塊的元塊,每一選擇性下伏暴露塊包括多個選擇性下伏暴露頁面,每一選擇性下伏暴露頁面具有選擇性下伏 暴露位址。
- 如申請專利範圍第14項所述的方法,其中儲存裝置為耦接至系統控制器的多個儲存裝置中的一者。
- 一種非暫存性電腦可讀媒體,具有儲存於其中的指令,當所述指令經由處理器執行時,使得所述處理器執行操作儲存系統的方法,所述方法包括:接收多個使用者邏輯塊位址及與每一使用者邏輯塊位址相關聯的資料,所述資料儲存於元頁面中,所述元頁面在對應的多個晶粒中的對應的多個塊的記憶體胞元中具有多個頁面的記憶體胞元;將所述多個使用者邏輯塊位址映射至多個選擇性下伏暴露位址,使得多個不同的使用者邏輯塊位址映射至每一選擇性下伏暴露位址,所述多個選擇性下伏暴露位址定址多個第一晶粒,使得每一選擇性下伏暴露位址定址不同晶粒,其中選擇性下伏暴露位址包括晶粒位址、選擇性下伏暴露塊位址及選擇性下伏暴露頁面位址;將選擇性下伏暴露塊位址轉譯為記憶體塊位址且將選擇性下伏暴露頁面位址轉譯為記憶體頁面位址;組合多個經邏輯定址塊以創造多個選擇性下伏暴露可定址單元;壓縮所述多個選擇性下伏暴露可定址單元為多個經壓縮選擇性下伏暴露可定址單元及多個對應的標頭,使得每一經壓縮選擇性下伏暴露可定址單元具有標頭;將所述多個經壓縮選擇性下伏暴露可定址單元及所述多個對 應的標頭置放於多個轉移塊中;以及將整數個轉移塊對準至選擇性下伏暴露頁面,所述選擇性下伏暴露頁面具有選擇性下伏暴露頁面位址。
- 如申請專利範圍第16項所述的非暫存性電腦可讀媒體,所述方法更包括接收及轉發多個元資料邏輯塊位址及與每一元資料邏輯塊位址相關聯的元資料。
- 一種用於管理與儲存系統相關聯的儲存裝置的陣列中的儲存媒體的系統,所述系統包括:記憶體,其儲存機器指令;以及處理器,其執行所述機器指令以:將使用者資料映射至選擇性下伏暴露(SUE)位址空間中,所述選擇性下伏暴露位址空間對應於與所述儲存系統相關聯的所述儲存裝置的陣列中的實體儲存區的代表性幾何形狀;將多個邏輯位址映射至所述選擇性下伏暴露位址空間中的選擇性下伏暴露位址的元塊,所述多個邏輯位址與對應於作為所述陣列中的所述儲存裝置中的每一者中的單元而加以聯合地管理多個實體塊的記憶體胞元的所述使用者資料相關聯;將所述選擇性下伏暴露位址的每一子集映射至與所述元塊相關聯的選擇性下伏暴露位址的選擇性下伏暴露塊中,所述選擇性下伏暴露位址對應於作為所述陣列中的每一個別儲存裝置中的單元而加以聯合地管理多個實體塊的記憶體胞元;將所述選擇性下伏暴露位址的每一子集映射至與每一選擇性下伏暴露塊相關聯的選擇性下伏暴露位址的各別選擇性下伏暴露頁面中,所述選擇性下伏暴露位址對應於作為所述陣 列中的每一個別儲存裝置中的單元而加以聯合地管理所述多個實體塊的記憶體胞元中的每一者中的各別實體頁面;以及將對應於每一選擇性下伏暴露塊的所述各別選擇性下伏暴露頁面的所述選擇性下伏暴露位址的每一子集映射至與所述元塊相關聯的位址的元頁面中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/941,512 US9990304B2 (en) | 2015-11-13 | 2015-11-13 | Multimode storage management system |
US14/941,512 | 2015-11-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201723816A TW201723816A (zh) | 2017-07-01 |
TWI716416B true TWI716416B (zh) | 2021-01-21 |
Family
ID=56235655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105120232A TWI716416B (zh) | 2015-11-13 | 2016-06-28 | 儲存系統、用於管理儲存媒體的方法以及系統、操作儲存系統的方法、以及非暫存性電腦可讀媒體 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9990304B2 (zh) |
EP (1) | EP3168734A1 (zh) |
JP (2) | JP2017091524A (zh) |
KR (1) | KR102586805B1 (zh) |
CN (1) | CN106708423B (zh) |
TW (1) | TWI716416B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959108B (zh) * | 2017-05-26 | 2021-08-24 | 上海宝存信息科技有限公司 | 固态硬盘访问方法以及使用该方法的装置 |
JP6785205B2 (ja) | 2017-09-21 | 2020-11-18 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US10437476B2 (en) | 2017-10-23 | 2019-10-08 | Micron Technology, Inc. | Namespaces allocation in non-volatile memory devices |
JP2019079464A (ja) | 2017-10-27 | 2019-05-23 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
JP6982468B2 (ja) | 2017-10-27 | 2021-12-17 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US11580034B2 (en) | 2017-11-16 | 2023-02-14 | Micron Technology, Inc. | Namespace encryption in non-volatile memory devices |
US11520696B2 (en) * | 2018-06-28 | 2022-12-06 | Seagate Technology Llc | Segregating map data among different die sets in a non-volatile memory |
KR102596964B1 (ko) * | 2018-07-31 | 2023-11-03 | 에스케이하이닉스 주식회사 | 맵 캐시 버퍼 크기를 가변시킬 수 있는 데이터 저장 장치 |
CN109688117B (zh) * | 2018-12-11 | 2021-10-15 | 国家电网公司信息通信分公司 | 一种大容量ip地址拦截方法和设备 |
KR102214697B1 (ko) * | 2019-04-17 | 2021-02-10 | 주식회사 티맥스티베로 | 데이터베이스 관리 시스템에서 데이터 저장을 위한 공간 관리를 제공하는 컴퓨터 프로그램 |
CN111951845B (zh) * | 2019-05-15 | 2022-06-03 | 上海磁宇信息科技有限公司 | 一种分级管理冗余存储的mram芯片 |
US11561713B2 (en) * | 2021-03-11 | 2023-01-24 | Western Digital Technologies, Inc. | Simplified high capacity die and block management |
US20230030168A1 (en) * | 2021-07-27 | 2023-02-02 | Dell Products L.P. | Protection of i/o paths against network partitioning and component failures in nvme-of environments |
TWI820994B (zh) * | 2022-11-01 | 2023-11-01 | 大陸商星宸科技股份有限公司 | 指令壓縮方法、指令解壓縮方法及流程壓縮方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200825738A (en) * | 2006-08-04 | 2008-06-16 | Sandisk Corp | Phased garbage collection |
US20130227198A1 (en) * | 2012-02-23 | 2013-08-29 | Samsung Electronics Co., Ltd. | Flash memory device and electronic device employing thereof |
US20150058591A1 (en) * | 2013-01-08 | 2015-02-26 | Lyve Minds, Inc. | Storage network data distribution |
TW201520793A (zh) * | 2013-10-10 | 2015-06-01 | Apple Inc | 具有共享檔案系統之記憶體系統 |
Family Cites Families (30)
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 |
JP2005100262A (ja) * | 2003-09-26 | 2005-04-14 | Seiko Epson Corp | メモリ管理装置およびメモリ管理プログラム、並びにメモリ管理方法 |
WO2005124530A2 (en) | 2004-06-21 | 2005-12-29 | Kabushiki Kaisha Toshiba | Method for controlling memory card and method for controlling nonvolatile semiconductor memory |
US7624239B2 (en) * | 2005-11-14 | 2009-11-24 | Sandisk Corporation | Methods for the management of erase operations in non-volatile memories |
JP4895718B2 (ja) * | 2006-08-14 | 2012-03-14 | 株式会社リコー | 画像形成装置、データ復旧方法および記録媒体 |
KR100809320B1 (ko) | 2006-09-27 | 2008-03-05 | 삼성전자주식회사 | 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑정보 관리 장치 및 방법 |
US7685378B2 (en) * | 2007-02-15 | 2010-03-23 | Hitachi, Ltd. | Methods and apparatus for adjusting a journal area for continuous data protection |
WO2009153982A1 (ja) | 2008-06-20 | 2009-12-23 | パナソニック株式会社 | 複数区分型不揮発性記憶装置およびシステム |
US8094500B2 (en) | 2009-01-05 | 2012-01-10 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partitioning |
JP5325637B2 (ja) * | 2009-04-01 | 2013-10-23 | 株式会社アイ・オー・データ機器 | 情報処理プログラムおよび情報処理装置 |
CN101604226B (zh) * | 2009-07-14 | 2010-12-01 | 浪潮电子信息产业股份有限公司 | 一种基于虚拟raid构建动态缓存池提高存储系统性能的方法 |
KR20110041843A (ko) * | 2009-10-16 | 2011-04-22 | 엘지전자 주식회사 | 하이브리드 저장장치 및 그 동작방법 |
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 |
US20120297121A1 (en) * | 2011-05-17 | 2012-11-22 | Sergey Anatolievich Gorobets | Non-Volatile Memory and Method with Small Logical Groups Distributed Among Active SLC and MLC Memory Partitions |
US9176864B2 (en) * | 2011-05-17 | 2015-11-03 | SanDisk Technologies, Inc. | Non-volatile memory and method having block management with hot/cold data sorting |
KR101356470B1 (ko) * | 2011-05-26 | 2014-01-28 | 에스코어 주식회사 | 플래시 파일 시스템 |
US8539142B2 (en) | 2011-09-30 | 2013-09-17 | Hitachi, Ltd. | Storage system comprising nonvolatile semiconductor storage media |
US8775904B2 (en) * | 2011-12-07 | 2014-07-08 | International Business Machines Corporation | Efficient storage of meta-bits within a system memory |
US8639669B1 (en) | 2011-12-22 | 2014-01-28 | Emc Corporation | Method and apparatus for determining optimal chunk sizes of a deduplicated storage system |
US8954694B2 (en) | 2012-11-15 | 2015-02-10 | Western Digital Technologies, Inc. | Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive |
JP2014123254A (ja) * | 2012-12-21 | 2014-07-03 | International Business Maschines Corporation | メディア上のファイルをユーザ単位で分割管理する方法、プログラム、及びストレージ・システム |
US9141532B2 (en) * | 2012-12-26 | 2015-09-22 | Western Digital Technologies, Inc. | Dynamic overprovisioning for data storage systems |
US9652376B2 (en) * | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9804960B2 (en) | 2013-03-14 | 2017-10-31 | Western Digital Technologies, Inc. | Overprovision capacity in a data storage device |
US9141626B2 (en) * | 2013-03-14 | 2015-09-22 | Microsoft Technology Licensing, Llc | Volume having tiers of different storage traits |
WO2015008375A1 (ja) | 2013-07-19 | 2015-01-22 | 株式会社日立製作所 | ストレージ装置および記憶制御方法 |
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 |
-
2015
- 2015-11-13 US US14/941,512 patent/US9990304B2/en active Active
-
2016
- 2016-06-15 KR KR1020160074698A patent/KR102586805B1/ko active IP Right Grant
- 2016-06-23 EP EP16175873.5A patent/EP3168734A1/en not_active Ceased
- 2016-06-28 TW TW105120232A patent/TWI716416B/zh active
- 2016-08-18 CN CN201610685502.1A patent/CN106708423B/zh active Active
- 2016-11-02 JP JP2016215540A patent/JP2017091524A/ja active Pending
-
2022
- 2022-05-25 JP JP2022085166A patent/JP7404442B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200825738A (en) * | 2006-08-04 | 2008-06-16 | Sandisk Corp | Phased garbage collection |
US20130227198A1 (en) * | 2012-02-23 | 2013-08-29 | Samsung Electronics Co., Ltd. | Flash memory device and electronic device employing thereof |
US20150058591A1 (en) * | 2013-01-08 | 2015-02-26 | Lyve Minds, Inc. | Storage network data distribution |
TW201520793A (zh) * | 2013-10-10 | 2015-06-01 | Apple Inc | 具有共享檔案系統之記憶體系統 |
Also Published As
Publication number | Publication date |
---|---|
US9990304B2 (en) | 2018-06-05 |
EP3168734A1 (en) | 2017-05-17 |
CN106708423B (zh) | 2021-08-17 |
CN106708423A (zh) | 2017-05-24 |
JP2017091524A (ja) | 2017-05-25 |
JP2022111153A (ja) | 2022-07-29 |
KR20170056411A (ko) | 2017-05-23 |
KR102586805B1 (ko) | 2023-10-11 |
TW201723816A (zh) | 2017-07-01 |
JP7404442B2 (ja) | 2023-12-25 |
US20170139837A1 (en) | 2017-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI702495B (zh) | 對使用者資料執行選擇性下伏暴露映射之設備、方法以及多模式儲存裝置 | |
TWI716416B (zh) | 儲存系統、用於管理儲存媒體的方法以及系統、操作儲存系統的方法、以及非暫存性電腦可讀媒體 | |
TWI710900B (zh) | 儲存裝置及方法 | |
US11907569B1 (en) | Storage deveice that garbage collects specific areas based on a host specified context | |
US9946642B2 (en) | Distributed multimode storage management | |
KR102401596B1 (ko) | 비휘발성 장치에서 데이터 속성 기반 데이터 배치를 활용하기 위해 컴퓨터를 구동하는 경험적 인터페이스 | |
US20160188211A1 (en) | Optimizing thin provisioning in a data storage system through selective use of multiple grain sizes | |
US9632702B2 (en) | Efficient initialization of a thinly provisioned storage array | |
US10482009B1 (en) | Use of a logical-to-logical translation map and a logical-to-physical translation map to access a data storage device | |
KR102032878B1 (ko) | 플래시 메모리 컨트롤러의 에러 정정 방법 | |
US11907123B2 (en) | Flash memory garbage collection |