本發(fā)明涉及信息存儲(chǔ)。
背景技術(shù):
許多電子技術(shù)(例如,數(shù)字計(jì)算機(jī)、計(jì)算器、音頻裝置、視頻設(shè)備和/或電話系統(tǒng)等)在商業(yè)、科學(xué)、教育和娛樂的大多數(shù)領(lǐng)域內(nèi)已經(jīng)提高了生產(chǎn)率并且已經(jīng)降低了成本。這些電子系統(tǒng)執(zhí)行涉及信息存儲(chǔ)系統(tǒng)的操作。信息存儲(chǔ)操作進(jìn)行的速度和容易度對信息存儲(chǔ)系統(tǒng)的整體性能會(huì)有顯著影響。然而,信息存儲(chǔ)的傳統(tǒng)嘗試通常涉及速度與可管理的復(fù)雜度之間的反比關(guān)系。
信息存儲(chǔ)系統(tǒng)涉及可落入兩種類別中的一種的操作。一種類別涉及與用戶發(fā)起的活動(dòng)關(guān)聯(lián)的存儲(chǔ)操作。另一種類別涉及由系統(tǒng)發(fā)起的管理和維護(hù)活動(dòng)。這些操作進(jìn)行的速度和容易度與用來存儲(chǔ)信息的地址空間的類型關(guān)聯(lián)。
利用物理尋址空間的傳統(tǒng)嘗試?yán)碚撋媳徽J(rèn)為以非??斓乃俣炔僮?,但是在傳統(tǒng)的物理尋址空間中對實(shí)際的管理和維護(hù)操作的嘗試是非常復(fù)雜的并且沒有被切實(shí)實(shí)施。傳統(tǒng)的邏輯地址空間的管理和維護(hù)被認(rèn)為比物理地址空間涉及更低的復(fù)雜度。然而,傳統(tǒng)的邏輯地址空間無法以與物理地址空間同樣快的速度操作。
雖然傳統(tǒng)的存儲(chǔ)系統(tǒng)可以以可在先前已被認(rèn)為是可接受的水平進(jìn)行操作,但是這些存儲(chǔ)系統(tǒng)越來越不足以滿足用于改善應(yīng)用和平臺的需求以及長期以來切身的需要。實(shí)現(xiàn)提高的速度和可管理的復(fù)雜度兩者以能夠改進(jìn)系統(tǒng)開發(fā)的傳統(tǒng)嘗試尚未成功。
技術(shù)實(shí)現(xiàn)要素:
描述了可包括啟用不同存儲(chǔ)空間活動(dòng)的多個(gè)不同類型的地址空間的高效和有效的多模存儲(chǔ)裝置。多模選擇性底層暴露(SUE)存儲(chǔ)裝置可以使存儲(chǔ)裝置的底層方面選擇性暴露成為可能。在一個(gè)實(shí)施例中,存儲(chǔ)裝置包括:第一存儲(chǔ)分區(qū),包括第一類型的接口和構(gòu)造為存儲(chǔ)第一類型的信息的第一信息存儲(chǔ)區(qū)域;以及第二存儲(chǔ)分區(qū),包括選擇性底層暴露(SUE)接口和存儲(chǔ)第二類型的信息的第二信息存儲(chǔ)區(qū)域,其中,SUE接口暴露第二信息存儲(chǔ)區(qū)域的方面。
應(yīng)理解的是,可存在選擇性地暴露的各種不同方面。所述方面可包括由第二存儲(chǔ)分區(qū)的特性、特征、功能、典型幾何、維度和管理操作構(gòu)成的組中的一種。在第一分區(qū)中的存儲(chǔ)管理操作可以由第一類型的接口指導(dǎo);在第二分區(qū)中的文件存儲(chǔ)管理活動(dòng)可通過SUE接口從第二分區(qū)的外部指導(dǎo)。第一存儲(chǔ)分區(qū)的大小可與第二存儲(chǔ)分區(qū)的大小不同。第一存儲(chǔ)分區(qū)中的操作的粒度可與第二存儲(chǔ)分區(qū)中的操作的粒度不同。第一分區(qū)與第二分區(qū)的組合與單獨(dú)的第一分區(qū)相比能夠改善了性能,與單獨(dú)的第二分區(qū)相比降低了復(fù)雜度。例如,第一分區(qū)中的預(yù)留空間的百分比與第二分區(qū)中的預(yù)留空間的百分比不同。
在一個(gè)實(shí)施例中,多模選擇性底層暴露(SUE)方法包括:將裝置的一部分配置為用于存儲(chǔ)第一類型的信息的第一區(qū)域;基于第一地址空間信息執(zhí)行第一地址類型接口操作;將裝置的一部分配置為用于存儲(chǔ)第二類型的信息的第二區(qū)域;基于第二地址空間信息執(zhí)行第二地址類型接口操作;其中,第二地址類型接口選擇性地暴露底層方面。第一類型的信息可為元數(shù)據(jù),第二類型的信息可為用戶數(shù)據(jù)。第二類型地址空間接口可包括:接收第二類型的信息和地址;以及在第二地址類型與底層地址類型之間轉(zhuǎn)換。SUE地址頁和SUE地址塊可以以提取方式使用。
底層提取可與各種事物關(guān)聯(lián)。底層方面可與底層物理地址關(guān)聯(lián),底層方面的選擇性暴露去除了與物理地址空間關(guān)聯(lián)的復(fù)雜度,同時(shí)還暴露底層物理地址空間配置的管理操作特性。底層方面可與底層系統(tǒng)管理操作關(guān)聯(lián)。例如,所述方面可以用于執(zhí)行由自由空間管理、自由空間使用的回收與調(diào)節(jié)、預(yù)留空間、修剪操作和功率循環(huán)構(gòu)成的組中的一個(gè)。
在一個(gè)實(shí)施例中,固態(tài)驅(qū)動(dòng)器(SSD)包括:第一存儲(chǔ)分區(qū)和第二存儲(chǔ)分區(qū)。第一存儲(chǔ)分區(qū)包括邏輯地址接口和配置為存儲(chǔ)元數(shù)據(jù)的第一數(shù)據(jù)存儲(chǔ)區(qū)域,其中,邏輯地址接口包括用于第一數(shù)據(jù)存儲(chǔ)區(qū)域的閃存管理系統(tǒng)以及將邏輯地址轉(zhuǎn)換為第一數(shù)據(jù)存儲(chǔ)區(qū)域的對應(yīng)的物理地址的閃存轉(zhuǎn)換邏輯(FTL)。第二存儲(chǔ)分區(qū)包括選擇性底層暴露(SUE)接口和存儲(chǔ)用戶數(shù)據(jù)的第二數(shù)據(jù)存儲(chǔ)區(qū)域,其中,SUE接口暴露第二數(shù)據(jù)存儲(chǔ)區(qū)域的典型幾何。第二接口的固件可配置為提供與物理接口暴露相似的接口暴露同時(shí)分離處理直接物理接口暴露的復(fù)雜度。裝置可為固態(tài)驅(qū)動(dòng)器。SUE接口包括:接收選擇性底層暴露(SUE)地址空間信息和數(shù)據(jù)的端口;以及將SUE地址空間信息轉(zhuǎn)換為物理地址空間信息并根據(jù)物理地址空間信息指導(dǎo)數(shù)據(jù)的存儲(chǔ)的控制器,其中,SUE地址空間的典型幾何與底層物理地址空間的典型幾何匹配。在一個(gè)示例性實(shí)施方式中,SUE地址空間塊與作為單元由裝置管理的物理塊對應(yīng)。
附圖說明
包括被并入本說明書并形成本說明書的一部分的附圖用以對本發(fā)明的原理的示例性說明,并且不意圖將本發(fā)明限制于其中所示的具體實(shí)施方式。除非另外明確指出,否則附圖不按比例繪制。
圖1是示出根據(jù)一個(gè)實(shí)施例的具有SUE存儲(chǔ)分區(qū)的示例性存儲(chǔ)裝置的框圖。
圖2是示出根據(jù)一個(gè)實(shí)施例的示例性多模存儲(chǔ)裝置的框圖。
圖3是示出根據(jù)一個(gè)實(shí)施例的另一個(gè)示例性多模存儲(chǔ)裝置的框圖。
圖4是示出根據(jù)一個(gè)實(shí)施例的示例性多模固態(tài)驅(qū)動(dòng)器(MM-SSD)的框圖。
圖5是示出根據(jù)一個(gè)實(shí)施例的將地址空間信息轉(zhuǎn)換為邏輯地址空間信息的示例性進(jìn)程的框圖。
圖6是示出根據(jù)一個(gè)實(shí)施例的示例性系統(tǒng)的框圖。
圖7是示出根據(jù)一個(gè)實(shí)施例的系統(tǒng)的框圖。
圖8是描述根據(jù)一個(gè)實(shí)施例的驅(qū)動(dòng)多模底層暴露的方法的流程圖。
圖9是示出示例性多模SSD裝置的框圖。
圖10是描繪根據(jù)本發(fā)明的實(shí)施例的在多模存儲(chǔ)裝置的用戶區(qū)域中用于存儲(chǔ)的示例性SUE塊和對應(yīng)的SUE頁的框圖。
圖11是描繪根據(jù)本發(fā)明的實(shí)施例的在多模存儲(chǔ)裝置的用戶區(qū)域中用于存儲(chǔ)的用戶存儲(chǔ)空間的示例性SUE塊和對應(yīng)的SUE頁的框圖。
圖12是描繪根據(jù)本發(fā)明的實(shí)施例的在多模存儲(chǔ)裝置的用戶區(qū)域中用于存儲(chǔ)的示例性SUE元頁(metapage)和對應(yīng)的SUE頁的框圖。
圖13是描繪根據(jù)本發(fā)明的實(shí)施例的在多模存儲(chǔ)裝置的用戶區(qū)域中用于存儲(chǔ)的示例性SUE元塊(metablock)和對應(yīng)的SUE元頁的框圖。
圖14是描繪根據(jù)本發(fā)明的實(shí)施例的在多模存儲(chǔ)裝置的用戶區(qū)域中用于存儲(chǔ)的另一示例性SUE元塊和對應(yīng)的SUE塊的框圖。
圖15是描繪根據(jù)本發(fā)明的實(shí)施例的可由多模存儲(chǔ)系統(tǒng)實(shí)施以提供從邏輯地址到SUE地址的地址映射的示例性SUE映射方案的框圖。
圖16是描繪可實(shí)施圖15的SUE映射方案的示例性存儲(chǔ)系統(tǒng)的示意圖。
圖17是表示根據(jù)本發(fā)明的實(shí)施例的將邏輯地址空間映射到SUE地址空間的示例性方法的流程圖。
圖18是示出根據(jù)本發(fā)明的實(shí)施例的采用SUE尋址方案以允許存儲(chǔ)系統(tǒng)在存儲(chǔ)裝置中尋址邏輯和SUE存儲(chǔ)空間的示例性多模存儲(chǔ)管理系統(tǒng)的示意圖。
圖19是示出根據(jù)本發(fā)明的實(shí)施例的采用SUE尋址方案以允許存儲(chǔ)系統(tǒng)在存儲(chǔ)裝置中尋址邏輯和SUE存儲(chǔ)空間的另一示例性多模存儲(chǔ)管理系統(tǒng)的示意圖。
圖20是示出根據(jù)本發(fā)明的實(shí)施例的采用SUE尋址方案以允許存儲(chǔ)系統(tǒng)在存儲(chǔ)裝置中尋址邏輯和SUE存儲(chǔ)空間的又一示例性多模存儲(chǔ)管理系統(tǒng)的示意圖。
圖21是示出根據(jù)本發(fā)明的實(shí)施例的可由多模存儲(chǔ)管理系統(tǒng)實(shí)施的用戶區(qū)域訪問管理器(UAAM)的示意圖。
圖22是示出根據(jù)本發(fā)明的實(shí)施例的可由多模存儲(chǔ)管理系統(tǒng)實(shí)施的用戶區(qū)域映射引擎(UAME)的示意圖。
圖23是示出根據(jù)本發(fā)明的實(shí)施例的可由多模存儲(chǔ)管理系統(tǒng)實(shí)施的元塊管理器(MBM)的示意圖。
圖24是示出根據(jù)本發(fā)明的實(shí)施例的可由多模存儲(chǔ)管理系統(tǒng)實(shí)施的存儲(chǔ)裝置控制管理器(SCM)的示意圖。
圖25是示出根據(jù)本發(fā)明的實(shí)施例的可由多模存儲(chǔ)管理系統(tǒng)實(shí)施的存儲(chǔ)裝置訪問管理器(SAM)的示意圖。
圖26是示出根據(jù)本發(fā)明的實(shí)施例的可由多模存儲(chǔ)管理系統(tǒng)實(shí)施的全局狀態(tài)管理器(GSM)的示意圖。
具體實(shí)施方式
提供所有上述特征和下面的描述以幫助本公開的理解。即,本公開不應(yīng)該被解釋為限制于這里闡述的“示例”實(shí)施例,并且可以以不同形式實(shí)施。下面的實(shí)施例僅是用于充分公開本發(fā)明的示例,并被描述以將本發(fā)明構(gòu)思提供給本領(lǐng)域技術(shù)人員。因此,如果存在實(shí)施本公開的組件的許多方式,那么將被理解的是,可用任意一種方式或者它的任意一種相似事物來實(shí)施本公開。
在本公開中,如果提到任何配置包括/包含特定組件或者任何過程包括/包含特定操作,那么這意味著可進(jìn)一步包括其他組件或者其他操作。即,這里使用的術(shù)語僅意圖描述具體的示例實(shí)施例,不意圖限制本公開的范圍。此外,描述的示例包括它們的補(bǔ)充實(shí)施例,其中,提供所述描述的示例以幫助對本公開的理解。
這里使用的術(shù)語具有本領(lǐng)域技術(shù)人員通常理解的含義。通用術(shù)語將被解釋為具有與本公開的上下文中一致的含義。另外,除非這里明確地如此定義,否則不應(yīng)該以過于理想或正式的意義來解釋這里使用的術(shù)語。
描述了可采用多種不同類型的地址空間和地址空間活動(dòng)的快速有效的多模存儲(chǔ)方法。在一些實(shí)施例中,多模選擇性底層暴露(multimode selectiveunderlying exposure,SUE)存儲(chǔ)裝置能夠使存儲(chǔ)裝置的一些底層方面選擇性暴露而不暴露其他底層方面。多模存儲(chǔ)和SUE方法可在限制可管理的范圍的復(fù)雜度的同時(shí)改善性能。
在一些示例性實(shí)施方式中,可選擇性地暴露物理地址空間的底層方面??蓪?shí)施整體存儲(chǔ)分層方法,一個(gè)分層級別(hierarchical level)的底層方面可選擇性地被暴露給另一分層級別??赏ㄟ^地址空間配置和地址空間之間的映射發(fā)生選擇性暴露。選擇性地暴露的底層方面可更快速有效地實(shí)施在與具有被暴露的底層方面的分層級別不同的分層級別執(zhí)行的各種活動(dòng)。各種活動(dòng)可包括存儲(chǔ)管理操作。應(yīng)理解的是,多模存儲(chǔ)和SUE方法可包括各種配置和實(shí)施方式。
在下文中,將參照附圖在下面描述本公開的示例實(shí)施例。
I、多模存儲(chǔ)裝置
圖1是示出根據(jù)一個(gè)實(shí)施例的包括選擇性底層暴露(SUE)存儲(chǔ)分區(qū)101的示例性存儲(chǔ)裝置100的框圖。SUE存儲(chǔ)分區(qū)101可包括選擇性底層暴露(SUE)接口102和底層存儲(chǔ)區(qū)域103。
底層存儲(chǔ)區(qū)域103可存儲(chǔ)信息,SUE接口102可將底層存儲(chǔ)區(qū)域103自身(例如涉及維度、典型幾何、管理功能、寫入操作、擦除操作等)的方面(例如,特性、特征、功能等)選擇性地暴露給外部組件或存儲(chǔ)系統(tǒng)分層級別(未示出)。該暴露可與存儲(chǔ)在底層存儲(chǔ)區(qū)域103中的信息(用戶數(shù)據(jù)和元數(shù)據(jù))的方面關(guān)聯(lián)。SUE存儲(chǔ)分區(qū)101可暴露底層方面的一部分(例如,特性、特征、功能等)。
在暴露底層方面的一部分的一個(gè)示例性實(shí)施方式中,與未選擇性地暴露底層方面的一部分的系統(tǒng)相比,可更有效地(例如,更快、更小的帶寬以及更小的功耗)執(zhí)行與暴露的方面關(guān)聯(lián)的活動(dòng)(例如,自由空間管理、用于自由空間使用的回收與調(diào)節(jié)、預(yù)留空間(over-provisioning)、修剪(trim)操作、功率循環(huán)等)。與暴露更多或全部底層方面的方法相比,該活動(dòng)可以以更小的復(fù)雜性來執(zhí)行。
在一些實(shí)施例中,可基于速度對復(fù)雜度的比較或平衡來確定選擇底層方面的哪部分被暴露。理解的是,SUE存儲(chǔ)分區(qū)101可包括在具有單一分區(qū)的單模存儲(chǔ)裝置中或者SUE存儲(chǔ)分區(qū)101可包括在具有多個(gè)分區(qū)的多模存儲(chǔ)裝置中。
圖2是示出根據(jù)一個(gè)實(shí)施例的示例性多模存儲(chǔ)裝置220的框圖。存儲(chǔ)裝置220可包括第一分區(qū)230和第二分區(qū)240。
理解的是,多模式和對應(yīng)的分區(qū)可與各種事物關(guān)聯(lián)或可基于各種事物。各種事物可包括底層存儲(chǔ)區(qū)域的不同暴露、不同地址空間(例如,邏輯、虛擬或物理)、不同存儲(chǔ)管理模式(例如,內(nèi)部管理和外部管理)、不同底層存儲(chǔ)信息(例如,元數(shù)據(jù)和用戶數(shù)據(jù))等。內(nèi)部管理和外部管理可包括存儲(chǔ)裝置管理系統(tǒng)組件和操作(例如,閃存管理系統(tǒng)(FMS)、固態(tài)裝置管理系統(tǒng)等)。分區(qū)和對應(yīng)的組件也可為不同的類型。
在多模存儲(chǔ)裝置220中的分區(qū)和對應(yīng)的接口可與不同類型的地址空間(例如,邏輯地址空間和選擇性底層暴露(SUE)地址空間)關(guān)聯(lián)。在多模存儲(chǔ)裝置220中的不止一個(gè)分區(qū)和對應(yīng)的接口也可與相同類型的地址空間關(guān)聯(lián),(例如,在多模存儲(chǔ)裝置220中的不止一個(gè)分區(qū)和對應(yīng)的接口可與SUE地址空間關(guān)聯(lián))。
第一分區(qū)230可包括第一類型的接口231和底層存儲(chǔ)區(qū)域233。第二分區(qū)240可包括第二類型的接口241和底層存儲(chǔ)區(qū)域243。在一些實(shí)施例中,第一分區(qū)230可為第一類型的地址空間分區(qū)(例如,邏輯地址空間分區(qū)),第二分區(qū)240可為第二類型的地址空間分區(qū)(例如,SUE地址空間和虛擬地址空間分區(qū))。理解的是,分區(qū)可以是SUE存儲(chǔ)分區(qū)。
圖3是示出根據(jù)一個(gè)實(shí)施例的另一示例性多模存儲(chǔ)裝置350的框圖。存儲(chǔ)裝置350可包括第一分區(qū)370和第二分區(qū)380。
在一些實(shí)施例中,第一分區(qū)370可為第一類型的地址空間分區(qū),第二分區(qū)380可為SUE地址空間分區(qū)。第一分區(qū)370可包括第一類型的接口371和底層存儲(chǔ)區(qū)域373。第二分區(qū)380可包括SUE接口381和底層存儲(chǔ)區(qū)域383。理解的是,諸如第一分區(qū)相關(guān)的活動(dòng)372(例如,F(xiàn)MS)的一些活動(dòng)可針對一個(gè)分區(qū)內(nèi)部地(例如,在存儲(chǔ)裝置350中)執(zhí)行,并可針對另一個(gè)分區(qū)外部地(未示出)執(zhí)行。
不同類型的信息可存儲(chǔ)在不同的分區(qū)中。在一些實(shí)施例中,可存在兩種類型的信息,例如,元數(shù)據(jù)和用戶數(shù)據(jù)。用戶數(shù)據(jù)可主要由用戶應(yīng)用生成,元數(shù)據(jù)可以是與用戶數(shù)據(jù)關(guān)聯(lián)的主要輔助信息(例如,在存儲(chǔ)系統(tǒng)分層體系中的文件的位置、文件中的內(nèi)容的大小、訪問時(shí)間、修改時(shí)間、用戶ID等)。第一閃存管理系統(tǒng)可專注于管理元數(shù)據(jù)。元數(shù)據(jù)反過來可用于管理用戶數(shù)據(jù)的存儲(chǔ)。
理解的是,存儲(chǔ)系統(tǒng)可指示或?qū)嵤┡c用戶發(fā)起的活動(dòng)關(guān)聯(lián)的操作,此操作不同于與管理或維護(hù)活動(dòng)關(guān)聯(lián)的系統(tǒng)操作。例如,從用戶角度,用戶發(fā)起的讀取或?qū)懭肟芍赶蚓唧w的地址或位置,而從系統(tǒng)角度,系統(tǒng)操作可指向物理塊和頁。
還理解的是,存儲(chǔ)裝置350可包括各種配置和實(shí)施方式。在一些實(shí)施例中,存儲(chǔ)裝置350可為固態(tài)裝置。存儲(chǔ)裝置350可包括閃存組件(例如,NAND類型閃存組件、NOR類型閃存組件等)。
圖4是示出根據(jù)一個(gè)實(shí)施例的示例性多模固態(tài)驅(qū)動(dòng)器(MM-SSD)的框圖。多模固態(tài)驅(qū)動(dòng)器(SSD)400可為多模存儲(chǔ)裝置的一個(gè)示例性實(shí)施方式。多模固態(tài)驅(qū)動(dòng)器400可包括邏輯地址空間分區(qū)410、可包括閃存轉(zhuǎn)換邏輯FTL413的邏輯接口411、底層物理地址空間412、SUE地址空間分區(qū)420、SUE接口421以及底層物理地址空間423。
邏輯地址空間分區(qū)410可接收并存儲(chǔ)邏輯尋址的系統(tǒng)數(shù)據(jù)(例如,元數(shù)據(jù)),SUE地址空間分區(qū)420可接收根據(jù)底層暴露地址空間尋址的用戶數(shù)據(jù)(例如,應(yīng)用數(shù)據(jù))。用戶數(shù)據(jù)可存儲(chǔ)在可包括閃存組件(例如,不同類型的浮置柵極晶體管)的底層物理地址空間423中。閃存組件可以以各種配置和粒度(granularity)布置。例如,閃存組件可布置為多個(gè)芯片,多個(gè)芯片中的芯片470可包括塊473和479及塊內(nèi)的頁。
在一些實(shí)施例中,SUE接口421可暴露底層物理地址空間423的一方面??赏ㄟ^協(xié)調(diào)用戶數(shù)據(jù)尋址與MM-SSD 400的底層操作來暴露底層物理地址空間423的選擇性方面。所述協(xié)調(diào)可與底層物理地址空間423的管理操作的暴露關(guān)聯(lián)。底層物理存儲(chǔ)管理方面可包括被一起管理(例如,在單個(gè)操作中、作為單個(gè)管理單元、在塊集中、在帶(bank)中、以及響應(yīng)于單個(gè)管理命令)的多個(gè)底層物理地址塊(例如,471、472、473和474)的組。
圖5是示出根據(jù)一個(gè)實(shí)施例的將地址空間信息轉(zhuǎn)換為邏輯地址空間信息的示例性進(jìn)程的框圖。SUE地址塊503可包括與各種管理和維護(hù)操作關(guān)聯(lián)的信息(例如,505、507和508)。物理地址空間502可包括多個(gè)芯片(511、512、513、514、521、522、523、524、531、532、533、534、541、542、543和544)。每個(gè)芯片可包括多個(gè)物理尋址塊(例如,515和519),并且每個(gè)物理尋址塊可包括多個(gè)物理地址頁。
物理地址空間502可基于物理塊和物理頁訪問地址存儲(chǔ)位置。SUE接口501可接收SUE地址塊503信息,并可將接收的信息轉(zhuǎn)換為或重新配置為與物理地址空間502兼容的配置。SUE地址塊503信息可對應(yīng)于涉及物理管理操作的信息。
在一些實(shí)施例中,管理和維護(hù)操作可指向物理地址空間502中的物理塊(例如,物理塊515、519和539)。管理操作可指向物理地址空間或物理層面管理單元。物理層面管理單元可包括管理基本同時(shí)管理(例如,響應(yīng)于管理操作或命令)的多個(gè)地址、頁、塊等。例如,擦除操作可指向來自每個(gè)芯片的物理塊(類似于塊515的以黑色示出的物理塊)。
由于SUE地址塊503配置為與物理塊匹配,因此用于每個(gè)對應(yīng)的物理塊的每段信息(例如,505、507和508)可包括在SUE地址塊503中。在一些示例性實(shí)施方式中,SUE接口501可接收SUE地址塊503信息,可將信息505、507和508識別為分別對應(yīng)于物理塊515、517和528,并可由此執(zhí)行對應(yīng)的管理和維護(hù)操作。在一些實(shí)施例中,可對多個(gè)物理塊中的信息執(zhí)行擦除管理操作,并可對頁中的信息執(zhí)行寫入操作。
兩個(gè)地址空間的幾何結(jié)構(gòu)也可不同。在一些實(shí)施例中,邏輯地址空間可以是一維的(例如,邏輯塊地址(LBA)偏移如何對齊),物理地址空間可以是多維的,其包括諸如糾錯(cuò)碼(ECC)、物理頁、物理塊、物理芯片等(包括它們中的一些或子集)的各種方面。SUE地址空間可以是一維的或者有限數(shù)量或減少數(shù)量的維度。在SUE地址空間的一些示例性實(shí)施方式中,底層物理地址空間的維度可被概括為單維度或減少數(shù)量的維度。底層物理地址空間的與管理活動(dòng)(例如,回收/垃圾收集、功率循環(huán)等)關(guān)聯(lián)的選擇的維度(例如,塊和頁)可被概括為SUE地址空間,但底層物理地址空間的其他方面或活動(dòng)(例如,ECC)可不被概括為SUE地址空間。
理解的是,底層方面的選擇性暴露可包括在由整個(gè)系統(tǒng)中的其他組件(未示出)而非MM-SSD 400執(zhí)行的將用戶數(shù)據(jù)傳送到MM-SSD 400之前的協(xié)調(diào)。在一些實(shí)施例中,MM-SSD 400可結(jié)合到在整個(gè)系統(tǒng)分層體系的不同級操作的管理組件。
圖6是示出根據(jù)一個(gè)實(shí)施例的系統(tǒng)600的框圖。系統(tǒng)600可包括通信地結(jié)合至多模存儲(chǔ)管理系統(tǒng)610的多個(gè)MM-SSD(例如,620、630、640和650)。
理解的是,一些活動(dòng)(例如,一些存儲(chǔ)管理操作和閃存管理系統(tǒng)操作)可由多模存儲(chǔ)管理系統(tǒng)610控制,其他活動(dòng)(例如,其他存儲(chǔ)管理操作和閃存管理系統(tǒng)操作)可由MM-SSD 620、630、640和650控制。在一些實(shí)施例中,MM-SSD 620、630、640和650可以分別包括可控制或指向針對MM-SSD620、630、640和650的一些活動(dòng)的控制器621、631、641和651,同時(shí)多模存儲(chǔ)管理系統(tǒng)610可以包括可控制或指向針對MM-SSD 620、630、640和650的一些活動(dòng)的控制器611。
在一些示例性實(shí)施方式中,控制器621、631、641和651可分別控制或指向MM-SSD 620、630、640和650中的第一分區(qū)的活動(dòng),控制器611可控制或指向MM-SSD 620、630、640和650中的第二分區(qū)的活動(dòng)??刂破?11可經(jīng)由選擇性底層暴露接口來控制MM-SSD 620、630、640和650中的活動(dòng)。
在一些實(shí)施例中,系統(tǒng)600可包括多個(gè)卷(volume)(例如,671、672和673)。在一些示例性實(shí)施方式中,系統(tǒng)600可包括用戶空間并且用戶空間可映射到多個(gè)卷中,存儲(chǔ)空間可以作為多個(gè)卷呈現(xiàn)給用戶。理解的是,卷可具有不同的大小。還理解的是,不同大小的SUE可尋址單元可與多個(gè)卷關(guān)聯(lián)。
圖7是示出根據(jù)一個(gè)實(shí)施例的系統(tǒng)700的框圖。系統(tǒng)700可包括通信地結(jié)合到包括在設(shè)備710中的多模存儲(chǔ)管理系統(tǒng)720的多模SSD(MM-SSD)750。設(shè)備710可為各種計(jì)算機(jī)/電子設(shè)備(裝置)中的一種。理解的是,其他多模SSD可結(jié)合到多模存儲(chǔ)管理系統(tǒng)720。系統(tǒng)700可管理元數(shù)據(jù)730和用戶數(shù)據(jù)740的存儲(chǔ)。
多模存儲(chǔ)管理系統(tǒng)720可包括控制器745。控制器745可包括閃存管理系統(tǒng)741(用于用戶數(shù)據(jù))和SUE映射器742。
多模SSD 750可包括邏輯地址空間分區(qū)770和SUE地址空間分區(qū)780。邏輯地址空間分區(qū)770可以包括物理地址空間777和可包括閃存管理系統(tǒng)771(用于元數(shù)據(jù))的控制器775。閃存管理系統(tǒng)771可包括邏輯接口772,邏輯接口772可包括FTL 773。物理地址空間777可包括NAND閃存。SUE地址空間分區(qū)780可以包括SUE接口782和可包括NAND閃存的物理地址空間787。
可在邏輯地址塊791中接收元數(shù)據(jù)730信息,在邏輯地址塊792中轉(zhuǎn)發(fā)元數(shù)據(jù)730信息,并且將元數(shù)據(jù)730信息從多模管理系統(tǒng)720傳送至邏輯地址空間分區(qū)770。理解的是,邏輯地址塊791和792可相同(例如,可不改變邏輯地址塊791并被簡單地轉(zhuǎn)發(fā)到邏輯地址空間分區(qū)770)。
邏輯接口772可將與元數(shù)據(jù)關(guān)聯(lián)的邏輯塊地址(LBA)轉(zhuǎn)換成與物理地址空間777關(guān)聯(lián)的物理地址塊793。FMS 771可指示與物理地址空間777關(guān)聯(lián)的存儲(chǔ)管理和維護(hù)操作。元數(shù)據(jù)可存儲(chǔ)在物理地址空間777的NAND閃存中。
邏輯地址塊797中的用戶數(shù)據(jù)可轉(zhuǎn)發(fā)至FMS 741。由于物理地址空間787的底層特征和特性經(jīng)由SUE接口782暴露,所以FMS 741可指示與物理地址空間787的底層特征和特性關(guān)聯(lián)的閃存管理和維護(hù)操作。SUE映射器742可將邏輯地址塊797映射到SUE地址塊798。
SUE地址塊798可轉(zhuǎn)而由選擇性底層暴露(SUE)接口782轉(zhuǎn)換成物理地址塊799(例如,與圖5中的517和519類似),物理地址塊799與包括在物理地址空間787中的NAND閃存組件關(guān)聯(lián)。理解的是,邏輯地址塊可具有與SUE地址塊不同的大小,SUE地址塊轉(zhuǎn)而可具有與物理地址塊不同的大小。
相較于傳統(tǒng)的方法,在上述的分層體系級別中執(zhí)行的各種活動(dòng)促進(jìn)更有效的和更方便的管理。傳統(tǒng)的方法在其處理影響多個(gè)層級的活動(dòng)時(shí)的靈活性上受到限制。一些傳統(tǒng)的方法必須對多個(gè)層級執(zhí)行活動(dòng),導(dǎo)致對整體性能的指數(shù)級不利影響(例如,登陸日志(log-on-log)、在驅(qū)動(dòng)級的FMS和在系統(tǒng)級的FMS)。
例如,在raid(獨(dú)立磁盤冗余陣列)存儲(chǔ)系統(tǒng)中,存在對上存儲(chǔ)分層體系級別(例如,raid系統(tǒng)管理級)和下層存儲(chǔ)分層體系級別(例如,存儲(chǔ)驅(qū)動(dòng)級)均具有影響的需要一起管理的許多項(xiàng)(例如,數(shù)據(jù)存儲(chǔ)和對應(yīng)的奇偶校驗(yàn)存儲(chǔ))。對于每個(gè)級,信息的生命周期可不同(例如,用戶可能想要重新寫入信息但是raid系統(tǒng)可仍需要其以用于奇偶校驗(yàn)計(jì)算),導(dǎo)致驅(qū)動(dòng)級為用戶寫入“新”數(shù)據(jù),但系統(tǒng)級仍然為raid系統(tǒng)保留“舊”信息。在沒有能力進(jìn)行修剪的情況下,這導(dǎo)致寫入放大因子(write amplification factor)。
圖8是描述根據(jù)一個(gè)實(shí)施例的驅(qū)動(dòng)多模選擇性底層暴露(MM-SUE)的方法的流程圖。
具有7%的預(yù)留空間的驅(qū)動(dòng)器(例如,SSD)的工作效率是不具有驅(qū)動(dòng)預(yù)留空間的直接重寫系統(tǒng)(例如,HDD)的15倍,并且還是不具有系統(tǒng)預(yù)留空間的系統(tǒng)的15倍,總計(jì)為225(15×15)倍。允許FMS向上移動(dòng)到上存儲(chǔ)分層體系級別的多模存儲(chǔ)裝置有助于減少回落(back down)(例如,7%的預(yù)留空間工作在沒有預(yù)留空間的系統(tǒng)的僅15倍工作效率范圍內(nèi),28%的預(yù)留空間工作在沒有預(yù)留空間的系統(tǒng)的僅3倍工作效率范圍內(nèi)),導(dǎo)致寫入放大因子的減小。在一些示例性實(shí)施方式中,用于指示來自上存儲(chǔ)分層體系級別的管理操作的選擇的底層地址塊和頁可與底層物理級協(xié)調(diào)或匹配。這允許在用戶級的信息的生命周期變得與在系統(tǒng)級的信息的生命周期不同,但是從管理立場看,兩者的生命周期可被對齊為相同的,例如,在用戶級的生命周期的持續(xù)時(shí)間和在系統(tǒng)級的生命周期的持續(xù)時(shí)間可與用戶空間的使用和擦除對應(yīng)。
在操作810中,裝置的第一部分可被配置或設(shè)計(jì)為用于存儲(chǔ)第一類型的信息的第一區(qū)域。在一些實(shí)施例中,第一區(qū)域可為元數(shù)據(jù)區(qū)域并且第一類型的信息可為元數(shù)據(jù)??筛淖兗m錯(cuò)碼(ECC)的大小。
在操作820中,可在第一地址空間信息的基礎(chǔ)上執(zhí)行第一類型接口操作。在一些示例性實(shí)施方式中,第一區(qū)域可為元數(shù)據(jù)區(qū)域并且第一類型的信息可為元數(shù)據(jù)。在一些實(shí)施例中,第一類型接口可為邏輯地址空間接口,并可基于邏輯尋址的信息來執(zhí)行操作。邏輯接口操作可包括閃存轉(zhuǎn)換邏輯(FTL),閃存轉(zhuǎn)換邏輯包括:接收元數(shù)據(jù)和邏輯地址;將在系統(tǒng)級配置可見的地址塊轉(zhuǎn)換為在物理級配置的地址塊。
在操作830中,裝置的第二部分配置或設(shè)計(jì)為用于存儲(chǔ)第二類型的信息的第二區(qū)域。在一些實(shí)施例中,第二區(qū)域可為用戶數(shù)據(jù)區(qū)域,第二類型的信息可為用戶數(shù)據(jù)。SUE地址空間可提取或去除與物理地址空間關(guān)聯(lián)的復(fù)雜度,同時(shí)仍暴露與底層物理地址空間配置的關(guān)系或?qū)?yīng)。在一些示例性實(shí)施方式中,物理空間維度可被提取為SUE地址頁維度和SUE地址塊維度。物理地址空間可由SUE地址提取。
在操作840中,可基于第二地址空間信息執(zhí)行第二類型接口操作,其中,第二類型接口可選擇性地暴露底層方面。第二地址空間信息可為選擇性底層暴露(SUE)地址空間信息,其中,SUE地址空間信息可對應(yīng)于底層方面。底層方面可包括物理地址空間幾何的典型幾何或維度。SUE接口可暴露與底層系統(tǒng)管理操作關(guān)聯(lián)的維度(例如,自由空間管理、自由空間使用的回收與調(diào)節(jié))。在元數(shù)據(jù)區(qū)域中預(yù)留空間的百分比可不同于在用戶數(shù)據(jù)區(qū)域中的預(yù)留空間的百分比。
圖9是示出根據(jù)一個(gè)實(shí)施例的示例性多模SSD 920的框圖。在圖9中,多模SSD 920與針對邏輯尋址的SSD 910和物理尋址的SSD 930的傳統(tǒng)嘗試進(jìn)行比較。
邏輯尋址的SSD 910可包括邏輯接口911、FTL 912和邏輯地址空間913。物理尋址的SSD 930可包括物理接口931和物理地址空間932。多模SSD 920可包括邏輯接口921、FTL 922、邏輯地址空間923、SUE接口924和物理地址空間925。
多模SSD 920促進(jìn)驅(qū)動(dòng)器的底層方面的選擇性暴露和便利性。有別于不是暴露過多就是過于復(fù)雜的傳統(tǒng)方法,多模SSD 920允許在沒有過度的復(fù)雜性的情況下的合適的量的暴露。
然而實(shí)際上傳統(tǒng)的SSD通常不是良好的線性地址空間,相反它們通常具有帶有一束閃存芯片的控制器,閃存芯片具有配置為以由頁組成的塊操作的芯片,頁具有將存儲(chǔ)在晶體管的組或串中的數(shù)據(jù)。物理尋址的SSD 930試圖暴露存儲(chǔ)介質(zhì)的全部底層物理地址空間方面,其允許被認(rèn)為是非??焖俚牟僮?例如,相比于邏輯尋址的SSD 910)但是產(chǎn)生非常復(fù)雜的方法。邏輯尋址的SSD 910具有被認(rèn)為是具有隱藏存儲(chǔ)介質(zhì)的方面的全部或幾乎全部底層細(xì)節(jié)的方案的單線性平面映射空間(single linear flat mapping space),然而最終試圖在具有隱藏的多個(gè)底層細(xì)節(jié)的物理區(qū)域中存儲(chǔ)數(shù)據(jù)拖慢了系統(tǒng)(例如,與物理尋址的SSD 930相比)。
多模SSD 920促進(jìn)FMS操作的方便且靈活的配置和實(shí)施。多模SSD 920可主要在多模SSD 920的內(nèi)部控制器(例如,圖7的控制器775)中針對邏輯地址空間923執(zhí)行FMS操作,同時(shí)可主要在多模SSD 920的外部的控制器(例如,圖7的控制器745)中在系統(tǒng)級執(zhí)行針對SUE地址空間925的FMS操作。
這種分離或劃分多模SSD 920的FMS操作的能力不同于不允許FMS操作的分離或劃分的SSD 910和SSD 930的FMS操作方法。針對邏輯尋址的SSD 910的FMS操作主要在邏輯尋址的SSD 910的內(nèi)部控制器中執(zhí)行,而針對物理尋址的SSD 930的FMS操作主要在物理尋址的SSD 930的外部的控制器中在系統(tǒng)級執(zhí)行。
在一些實(shí)施例中,多模SSD 920可選擇性地暴露一些底層地址空間特征,邏輯尋址的SSD 910和物理尋址的SSD 930不促進(jìn)一些底層地址空間特征而非其他底層地址空間特征的選擇性暴露。在一些實(shí)施例中,將底層方面暴露給外部FMS(例如,多模存儲(chǔ)管理系統(tǒng)720)可涉及底層方面的選擇的暴露的映射。
II、選擇性底層暴露(SUE)映射
本發(fā)明的另一實(shí)施例實(shí)施選擇性底層暴露(SUE)映射方案,以針對存儲(chǔ)系統(tǒng)中的用戶數(shù)據(jù)生成從邏輯地址空間到SUE地址空間的映射。SUE映射方案可選擇性地暴露底層物理存儲(chǔ)介質(zhì)的顯著特征,以允許在多個(gè)存儲(chǔ)裝置的系統(tǒng)級而不是在單個(gè)存儲(chǔ)裝置級執(zhí)行某些存儲(chǔ)介質(zhì)管理功能。
例如,一些實(shí)施例可使存儲(chǔ)設(shè)備中的多個(gè)NAND閃存非易失性存儲(chǔ)裝置的用戶地址空間的方面的選擇性暴露。SUE映射方案的SUE頁和塊可與在物理NAND閃存非易失性存儲(chǔ)裝置中的每個(gè)中作為單元共同地管理的對應(yīng)的物理頁及塊對齊。物理NAND閃存非易失性存儲(chǔ)裝置中的單個(gè)芯片在SUE映射方案中不被區(qū)分,但是盡管如此,也間接地反映在SUE塊大小中。
存儲(chǔ)裝置的物理頁和塊與SUE映射方案的SUE頁和塊之間的關(guān)聯(lián)性允許諸如擦除、編程、回收(垃圾收集)、自由空間管理等的某些NAND閃存管理功能在存儲(chǔ)系統(tǒng)中的全部NAND閃存非易失性存儲(chǔ)裝置的系統(tǒng)級被協(xié)調(diào)和實(shí)施。某些存儲(chǔ)介質(zhì)管理功能的系統(tǒng)級實(shí)施方式可提供關(guān)于存儲(chǔ)資源配置的有利的效率。
再次參照圖3,諸如NAND閃存非易失性存儲(chǔ)裝置的多模存儲(chǔ)裝置(例如,350、400、620)可結(jié)合本公開中描述的SUE映射方案實(shí)施。例如,在一些實(shí)施中,多模存儲(chǔ)裝置可為基于NAND閃存的固態(tài)驅(qū)動(dòng)器(SSD)。在一些實(shí)施例中,多模存儲(chǔ)裝置可遵照諸如標(biāo)準(zhǔn)磁盤驅(qū)動(dòng)器形狀因子或標(biāo)準(zhǔn)存儲(chǔ)卡形狀因子的標(biāo)準(zhǔn)化的物理形狀因子。
再次參照圖5,如上面描述的,多模存儲(chǔ)裝置可包括具有許多NAND閃存存儲(chǔ)單元的多個(gè)芯片511、512、513、514、521、522、523、524、531、532、533、534、541、542、543、544或存儲(chǔ)芯片。每個(gè)芯片上的NAND閃存存儲(chǔ)單元可被細(xì)分為存儲(chǔ)單元的諸如物理塊515、517、519、528和539的多個(gè)離散的物理塊。
可針對多模存儲(chǔ)裝置上的一個(gè)或多個(gè)離散組的芯片上的存儲(chǔ)單元的塊來執(zhí)行自由空間的擦除和管理。例如,多模存儲(chǔ)裝置可包括一百二十八個(gè)芯片,并且可針對作為一個(gè)組或一個(gè)單元的來自一百二十八個(gè)芯片中的每個(gè)芯片的一個(gè)塊進(jìn)行擦除并管理自由空間。可選擇地,多模存儲(chǔ)裝置可包括一百二十八個(gè)芯片,并且可針對作為一個(gè)組的來自芯片的子集(例如,三十二個(gè)芯片的組)的一個(gè)塊進(jìn)行擦除并管理自由空間。
圖10是描繪根據(jù)本發(fā)明的實(shí)施例的在多模存儲(chǔ)裝置的用戶區(qū)域中用于存儲(chǔ)的示例性SUE塊和對應(yīng)的SUE頁的框圖。
現(xiàn)在參照圖10,示出了形成SUE塊1010的一系列物理塊1012、1014、1016和1018。存儲(chǔ)單元的每個(gè)物理塊1012、1014、1016和1018還被細(xì)分為存儲(chǔ)單元的多個(gè)離散的物理頁(例如,1021、1022、1023和1024)。SUE頁1030包括來自對應(yīng)的SUE塊1010中的每個(gè)物理塊1012、1014、1016和1018的對應(yīng)的物理頁1032、1034、1036和1038。
在本發(fā)明的一些實(shí)施例中,可生成多模存儲(chǔ)裝置(例如,350、400或620)中的存儲(chǔ)單元的SUE配置??舍槍Υ鎯?chǔ)裝置上的針對編程和擦除而作為一個(gè)單元共同地管理的每組芯片來組織SUE頁和SUE塊。SUE塊可定義為包括物理塊的存儲(chǔ)單元,并且這些物理塊可作為一個(gè)單元共同地被擦除和管理,其中,從多模存儲(chǔ)裝置的芯片的子集中所包括的每個(gè)芯片分別選擇每個(gè)物理塊。SUE頁可定義為包括SUE塊的離散的部分或片段,并且這些離散的部分或片段可被共同地編程。
例如,在一些實(shí)施例中,多模存儲(chǔ)裝置可包括一百二十八個(gè)芯片,并可共同地擦除和管理每個(gè)芯片中所包括的各自物理塊上的自由空間。對應(yīng)的SUE塊1010可定義為包括一百二十八個(gè)物理塊的存儲(chǔ)單元,其中,從多模存儲(chǔ)裝置的一百二十八個(gè)芯片中分別選擇每個(gè)物理塊。對應(yīng)的SUE頁1030可定義為包括與一百二十八個(gè)物理塊分別對應(yīng)的一百二十八個(gè)部分或片段。
在另一實(shí)施例中,多模存儲(chǔ)裝置可包括一百二十八個(gè)芯片,并且例如可一次共同地擦除并管理在三十二個(gè)芯片的各自物理塊上的自由空間。對應(yīng)的SUE塊1010可定義為包括三十二個(gè)物理塊的存儲(chǔ)單元,其中,從多模存儲(chǔ)裝置的三十二個(gè)芯片中分別選擇每個(gè)物理塊。在這種情況下,對應(yīng)的SUE頁1030可定義為包括與三十二個(gè)物理塊分別地對應(yīng)的三十二個(gè)部分或片段。
在又一實(shí)施例中,多模存儲(chǔ)裝置可包括被劃分為四個(gè)平面(plane)的一百二十八個(gè)芯片,并可管理各個(gè)平面的每個(gè)芯片中所包括的塊上的自由空間。對應(yīng)的SUE塊1010可定義為包括存儲(chǔ)裝置中所包括的各個(gè)平面的一百二十八個(gè)塊的存儲(chǔ)單元。在這種情況下,對應(yīng)的SUE頁1030可定義為包括與各個(gè)平面的塊對應(yīng)的一百二十八個(gè)部分或片段。
圖11是描繪根據(jù)本發(fā)明的實(shí)施例的在多模存儲(chǔ)裝置的用戶區(qū)域中的用于存儲(chǔ)的用戶存儲(chǔ)空間的示例性SUE塊和對應(yīng)的SUE頁的框圖。
現(xiàn)在參照圖11,用戶存儲(chǔ)空間的示例性SUE塊(S-Block)1110被表示為框圖。在一些實(shí)施例中,SUE塊1110可被認(rèn)為與虛擬塊(V-Block)相似。SUE塊1110可為在單個(gè)存儲(chǔ)裝置級用于存儲(chǔ)介質(zhì)管理的操作的基本單元。SUE塊可由多個(gè)SUE頁(S-Page)組成。在一些示例性實(shí)施方式中,SUE頁可被認(rèn)為與虛擬頁(V-Page)相似。例如,在圖11中描繪的SUE塊1110包括四個(gè)SUE頁(S-Page)1121、1122、1123和1124。
如在圖5中描繪的,分配至SUE塊(S-Block)中的SUE頁(S-Page)的物理存儲(chǔ)單元可位于包括在單個(gè)多模存儲(chǔ)裝置(例如,350、400或620)中的多個(gè)芯片的對應(yīng)的物理頁以及物理塊中。可選擇的實(shí)施例可包括基于多模存儲(chǔ)裝置的物理擦除塊大小和可編程物理頁大小之間的關(guān)系而被劃分為任意數(shù)量的頁的塊。
圖12是描繪根據(jù)本發(fā)明的實(shí)施例的在多模存儲(chǔ)裝置的用戶區(qū)域中用于存儲(chǔ)的示例性SUE元頁和對應(yīng)的SUE頁的框圖。
現(xiàn)在參照圖12,示例性元頁(M-Page)1210被表示為框圖。元頁1210可由在存儲(chǔ)系統(tǒng)中的多個(gè)存儲(chǔ)裝置的多個(gè)SUE頁(S-Page)組成。例如,圖12中描繪的元頁1210包括五個(gè)SUE頁(S-Page)1211、1212、1213、1214和1215??蛇x擇的實(shí)施例可包括基于存儲(chǔ)系統(tǒng)中單個(gè)多模存儲(chǔ)裝置的數(shù)量和在每個(gè)多模存儲(chǔ)裝置中作為一個(gè)單元共同地管理的芯片的數(shù)量而被劃分為任意數(shù)量的SUE頁的元頁。
分配給每個(gè)SUE頁的物理存儲(chǔ)單元可位于單個(gè)多模存儲(chǔ)裝置(例如,350、400或620)中。分配給形成元頁1210的各個(gè)SUE頁1211、1212、1213、1214和1215的存儲(chǔ)單元可位于與存儲(chǔ)系統(tǒng)(例如,存儲(chǔ)設(shè)備)關(guān)聯(lián)的多個(gè)存儲(chǔ)裝置(例如,620、630、640和650)中。
因此,雖然SUE頁1121、1122、1123和1124的大小或?qū)挾瓤膳c在每個(gè)多模存儲(chǔ)裝置中作為一個(gè)單元共同地管理的芯片的數(shù)量對應(yīng),但是元頁1210的大小或?qū)挾瓤膳c包括在存儲(chǔ)系統(tǒng)中的多模存儲(chǔ)裝置的數(shù)量對應(yīng)。
圖13是描繪根據(jù)本發(fā)明的實(shí)施例的在多模存儲(chǔ)裝置的用戶區(qū)域中用于存儲(chǔ)的示例性SUE元塊和對應(yīng)的SUE元頁的框圖。
參照圖13,示例性元塊(M-Block)1310被表示為框圖。元塊(M-Block)1310可由多個(gè)元頁1311、1312、1313和1314組成。因?yàn)榫哂性?M-Page)1210,所以分配給元塊(M-Block)1310的物理存儲(chǔ)單元可位于與存儲(chǔ)系統(tǒng)關(guān)聯(lián)的多個(gè)存儲(chǔ)裝置中。即,元塊(M-Block)1310可包括從包括在芯片的對應(yīng)的子集中的每個(gè)芯片選擇的各個(gè)塊,所述芯片的對應(yīng)的子集在包括在存儲(chǔ)系統(tǒng)中的每個(gè)多模存儲(chǔ)裝置(例如,620、630、640和650)中作為一個(gè)單元共同地管理。因此,元塊1310的大小可與在每個(gè)多模存儲(chǔ)裝置(例如,350、400或620)中共同地管理的芯片的數(shù)量和在存儲(chǔ)系統(tǒng)中包括的多模存儲(chǔ)裝置(例如,620、630、640和650)的數(shù)量對應(yīng)。
圖14是描繪根據(jù)本發(fā)明的實(shí)施例的在多模存儲(chǔ)裝置的用戶區(qū)域中用于存儲(chǔ)的另一示例性SUE元塊和對應(yīng)的SUE塊的框圖。
參照圖14,示例性元塊(M-Block)1410可被表示為由多個(gè)SUE塊(S-Block)1110組成的框圖。元塊1410可為從存儲(chǔ)系統(tǒng)中所包括的多模存儲(chǔ)裝置(例如,620、630、640和650)中的每個(gè)中共同地管理的芯片的每個(gè)子集中選擇的各個(gè)SUE塊1411、1412、1413、1414和1415的集合。相似地,元頁1210可為從元塊1410中對應(yīng)的SUE塊1411、1412、1413、1414和1415中的每個(gè)選擇的對應(yīng)的SUE頁(例如,1211、1212、1213、1214和1215)的集合。
在本發(fā)明的一些實(shí)施例中,可以以元塊級執(zhí)行某些存儲(chǔ)介質(zhì)管理功能(例如,擦除、編程、回收(垃圾收集)、自由空間管理等)。也就是說,可以在存儲(chǔ)系統(tǒng)級而不是在單個(gè)存儲(chǔ)裝置級協(xié)調(diào)這些存儲(chǔ)介質(zhì)管理功能。
為了使期望的系統(tǒng)級存儲(chǔ)管理成為可能,例如由應(yīng)用和虛擬機(jī)(VR)操作系統(tǒng)尋址的專用于用戶數(shù)據(jù)的邏輯地址空間可映射到SUE地址空間。因此,存儲(chǔ)系統(tǒng)中所包括的多模存儲(chǔ)裝置的用戶區(qū)域可通過底層暴露接口來尋址。系統(tǒng)級存儲(chǔ)映射和管理導(dǎo)致更低的寫放大因子,這使存儲(chǔ)區(qū)域配置(storage area provisioning)減少,導(dǎo)致成本節(jié)約。
圖15是描繪根據(jù)本發(fā)明的實(shí)施例的可由多模存儲(chǔ)系統(tǒng)實(shí)施以提供從邏輯地址到SUE地址的地址映射的示例性SUE映射方案的框圖。
參照圖15,在本發(fā)明的實(shí)施例中,示出SUE映射方案1500,SUE映射方案1500可由諸如圖6的多模存儲(chǔ)管理系統(tǒng)610的存儲(chǔ)系統(tǒng)實(shí)施,以提供從邏輯地址到SUE地址的地址映射。SUE映射方案1500可將邏輯地址空間與SUE地址空間關(guān)聯(lián)。SUE地址空間可揭露底層物理存儲(chǔ)介質(zhì)的顯著特征。SUE地址空間可用來對存儲(chǔ)系統(tǒng)中所包括的多個(gè)存儲(chǔ)裝置的集合的物理存儲(chǔ)空間進(jìn)行尋址。
可例如從主機(jī)應(yīng)用和虛擬機(jī)操作系統(tǒng)接收用戶數(shù)據(jù)1502作為輸入。主機(jī)用戶數(shù)據(jù)可被組織成對應(yīng)于與本地主機(jī)文件系統(tǒng)、接口標(biāo)準(zhǔn)等關(guān)聯(lián)的邏輯塊大小(例如,512K字節(jié)的信息)的存儲(chǔ)單元(例如,邏輯尋址的塊或者邏輯塊)。接收的用戶數(shù)據(jù)的每個(gè)邏輯塊可由邏輯塊地址(LBA)尋址。例如,在一些實(shí)施例中,輸入邏輯塊尋址可與由美國國家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)公布的小型計(jì)算機(jī)系統(tǒng)接口(SCSI)標(biāo)準(zhǔn)關(guān)聯(lián)。
用戶數(shù)據(jù)1502的邏輯尋址的塊可組合成SUE可尋址單元或者混合映射系統(tǒng)(HMS)映射塊(HMB)。在一些實(shí)施例中,整數(shù)數(shù)量的邏輯塊可被分組以形成SUE可尋址單元。例如,在圖15中,八個(gè)邏輯塊被組合以形成每個(gè)SUE可尋址單元。在可選擇的實(shí)施例中,任意全部或部分?jǐn)?shù)量的邏輯塊可被組合以形成SUE可尋址單元。
在一些實(shí)施例中,SUE可尋址單元可具有用于存儲(chǔ)系統(tǒng)的映射的最小粒度。在各種實(shí)施例中,SUE可尋址單元大小可包括4K字節(jié)、8K字節(jié)或任意其他合適的大小或大塊的信息。
在一些實(shí)施例中,存儲(chǔ)系統(tǒng)可包括一組卷,每個(gè)卷可包括一組SUE可尋址單元,每個(gè)可尋址單元可包括一組邏輯單元。不同的卷可分別利用不同的SUE可尋址單元大小。理解的是,卷可具有許多特性。卷可對應(yīng)于:應(yīng)用、單個(gè)用戶級文件系統(tǒng)、邏輯驅(qū)動(dòng)器、命名空間(例如,與給出的命名空間關(guān)聯(lián)的連續(xù)的邏輯地址的收集)、LUN(邏輯單元號)等。
在描繪的示例實(shí)施方式中:由邏輯塊地址1521、1522、1523、1524、1525、1526、1527和1528尋址的邏輯尋址的塊1531、1532、1533、1534、1535、1536、1537和1538組合成SUE可尋址單元1503;由邏輯塊地址1541、1542、1543、1544、1545、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。邏輯塊可跨越可尋址單元。每個(gè)可尋址單元可存在多個(gè)塊。
可以對SUE可尋址單元(例如,1503、1504和1505)中的用戶數(shù)據(jù)1502選擇性地執(zhí)行數(shù)據(jù)壓縮算法,以產(chǎn)生壓縮的SUE可尋址單元(例如,1507、1508和1509)??蓪?yīng)于每個(gè)壓縮的SUE可尋址單元(例如,1507、1508和1509)來產(chǎn)生標(biāo)題節(jié)(header section)(例如,1511、1512和1513)。標(biāo)題節(jié)可包括例如在回收和數(shù)據(jù)恢復(fù)活動(dòng)中使用的信息。
壓縮的SUE可尋址單元和標(biāo)題節(jié)可位于存儲(chǔ)裝置傳輸塊或者SSD傳輸塊(STB)1515和1517中。在描繪的示例中,標(biāo)題節(jié)1511、1512、1513和對應(yīng)的壓縮的SUE可尋址單元1507、1508和1509包括在STB 1515和1517中。在一些實(shí)施例中,壓縮的SUE可尋址單元以及用戶數(shù)據(jù)1502的附上的邏輯塊可允許跨越兩個(gè)或更多個(gè)存儲(chǔ)裝置傳輸塊。
整數(shù)數(shù)量的存儲(chǔ)裝置傳輸塊可與SUE頁1591、1592、1593和1594對齊,以傳送到多模存儲(chǔ)裝置。在一些實(shí)施例中,壓縮的SUE可尋址單元以及用戶數(shù)據(jù)1502的附上的邏輯塊可允許跨越兩個(gè)或更多個(gè)SUE頁1591、1592、1593和1594。
在一些實(shí)施例中,可不在系統(tǒng)級針對用戶數(shù)據(jù)1502執(zhí)行諸如糾錯(cuò)碼(ECC)的錯(cuò)誤校驗(yàn),而是相反的,錯(cuò)誤校驗(yàn)必須由單個(gè)多模存儲(chǔ)裝置執(zhí)行。
與用戶數(shù)據(jù)關(guān)聯(lián)的元數(shù)據(jù)可存儲(chǔ)在多模存儲(chǔ)裝置(例如,350、400或620)的邏輯尋址的系統(tǒng)區(qū)域中。例如,在一些實(shí)施例中,使用邏輯塊尋址來尋址的多模存儲(chǔ)裝置中的存儲(chǔ)單元的分區(qū)可存儲(chǔ)可將SUE可尋址單元映射到SUE地址空間的映射表。例如,映射表可存儲(chǔ)指針,每個(gè)指針可指向單個(gè)SUE可尋址單元。因此,可使用SUE可尋址單元的映射以及SUE可尋址單元和邏輯塊的對應(yīng)的偏移來確定在SUE地址空間中用戶數(shù)據(jù)的邏輯塊的對應(yīng)的存儲(chǔ)位置。
在一些實(shí)施例中,信息可存儲(chǔ)在卷(例如,671、672和673)中??纱嬖诙鄠€(gè)卷或命名空間,不同的卷或命名空間可與不同大小的SUE可尋址單元關(guān)聯(lián)。還應(yīng)理解的是,不同大小的卷或命名空間可與相同大小的SUE可尋址單元關(guān)聯(lián)。
圖16是描繪可實(shí)施圖15的SUE映射方案的示例性存儲(chǔ)系統(tǒng)的示意圖。如圖16中示出的,示例性存儲(chǔ)系統(tǒng)1602可包括處理器1604、存儲(chǔ)器1606、網(wǎng)絡(luò)接口1608、輸出/輸入(I/O)裝置1610、顯示裝置1612、總線1614和多個(gè)非易失性存儲(chǔ)裝置1616。存儲(chǔ)系統(tǒng)1602的各個(gè)組件可通過本地?cái)?shù)據(jù)鏈路1618結(jié)合,本地?cái)?shù)據(jù)鏈路1618在各種實(shí)施例中包含例如地址總線、數(shù)據(jù)總線、串行總線、并行總線或它們的任意組合。
處理器1604可包括適用于控制存儲(chǔ)系統(tǒng)1602的任何通用或?qū)S玫臄?shù)字處理器。存儲(chǔ)器1606可包括適用于存儲(chǔ)數(shù)據(jù)和用于由處理器1604訪問的指令的任何數(shù)字存儲(chǔ)裝置。
網(wǎng)絡(luò)接口1608可包括適用于將存儲(chǔ)系統(tǒng)1602通信地連接到通信網(wǎng)絡(luò)(例如,局域網(wǎng)(LAN)或互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡(luò))的任何網(wǎng)絡(luò)接口。網(wǎng)絡(luò)接口1608可實(shí)施存儲(chǔ)網(wǎng)絡(luò)標(biāo)準(zhǔn),例如,互聯(lián)網(wǎng)小型計(jì)算機(jī)系統(tǒng)接口(iSCSI)協(xié)議。
輸入/輸出裝置1610可包括用于將數(shù)字信息發(fā)送到存儲(chǔ)系統(tǒng)1602或從存儲(chǔ)系統(tǒng)1602接收數(shù)字信息的任何適合的裝置。顯示裝置1612可包括用于顯示文本或圖形用戶界面(GUI)的任何適合的裝置。
總線1614可包括例如外圍組件互連快速(PCIe)總線或在存儲(chǔ)系統(tǒng)中用于通信的任何其他適合的高速串行擴(kuò)展總線??偩€1614可利用標(biāo)準(zhǔn)NVM快速(NVMe)或非易失性存儲(chǔ)主機(jī)控制器接口規(guī)范(NVMHCI)來訪問存儲(chǔ)系統(tǒng)1602中諸如非易失性存儲(chǔ)裝置1616的存儲(chǔ)裝置。非易失性存儲(chǔ)裝置1616可包括例如基于NAND閃存的固態(tài)驅(qū)動(dòng)器(SSD)或任何其他適合的非易失性存儲(chǔ)裝置。
在可選擇的實(shí)施例中,通用計(jì)算裝置可實(shí)現(xiàn)圖15的SUE映射方案1500的功能。例如,通用計(jì)算裝置可包括服務(wù)器、工作站或個(gè)人計(jì)算機(jī)等。
在諸如非易失性存儲(chǔ)裝置1616的計(jì)算機(jī)可讀介質(zhì)上存儲(chǔ)的諸如源碼、目標(biāo)碼或可執(zhí)行碼的程序碼可被加載到工作存儲(chǔ)器或操作存儲(chǔ)器(例如,存儲(chǔ)器1606)中并由處理器1604執(zhí)行,以執(zhí)行圖15的SUE映射方案1500的功能。在可選擇的實(shí)施例中,可執(zhí)行指令可存儲(chǔ)在固件中,或者該功能可由專用硬件執(zhí)行。
圖17是表示根據(jù)本發(fā)明的實(shí)施例的將邏輯地址空間映射到SUE地址空間的示例性方法的流程圖。現(xiàn)在參照圖17,示例性處理流程可例如由圖16的存儲(chǔ)系統(tǒng)1602執(zhí)行,以實(shí)現(xiàn)在本公開中描述的用于將邏輯地址空間映射到SUE地址空間以對包括在存儲(chǔ)系統(tǒng)中的多個(gè)存儲(chǔ)裝置的集合的物理存儲(chǔ)空間尋址的SUE映射方案的實(shí)施例。
處理開始于例如從主機(jī)應(yīng)用或虛擬機(jī)操作系統(tǒng)接收用戶數(shù)據(jù)的操作1702。接收的用戶數(shù)據(jù)可在邏輯塊中被組織并由邏輯塊地址進(jìn)行尋址。邏輯塊可對應(yīng)于與本地主機(jī)文件系統(tǒng)、數(shù)據(jù)庫等關(guān)聯(lián)的最小可尋址存儲(chǔ)單元大小。
在操作1704中,如上面描述的,邏輯塊可組合成SUE可尋址單元。例如,整數(shù)數(shù)量的邏輯塊可被分組,以形成每個(gè)SUE可尋址單元。在操作1706中,如上面解釋的,可以對SUE可尋址單元中的用戶數(shù)據(jù)可選擇地執(zhí)行數(shù)據(jù)壓縮算法。(圖17中以虛線示出的組件是可選擇項(xiàng)。)
在操作1708中,可產(chǎn)生標(biāo)題節(jié)并將標(biāo)題節(jié)添加到每個(gè)SUE可尋址單元。如上面描述的,標(biāo)題節(jié)可產(chǎn)生為包括例如在回收和數(shù)據(jù)恢復(fù)活動(dòng)中使用的信息。在操作1710中,如上面解釋的,壓縮的SUE可尋址單元和標(biāo)題節(jié)可位于存儲(chǔ)裝置傳輸塊中。
如上面進(jìn)一步解釋的,在操作1712中,整數(shù)數(shù)量的存儲(chǔ)裝置傳輸塊可與SUE頁結(jié)合并對齊,在操作1714中,與SUE頁對應(yīng)的存儲(chǔ)裝置傳輸塊可被傳送給多模存儲(chǔ)裝置,以存儲(chǔ)在用戶區(qū)域中。在操作1716中,如上面描述的,關(guān)于SUE頁中的用戶數(shù)據(jù)的元數(shù)據(jù)可被發(fā)送到多模存儲(chǔ)裝置,以存儲(chǔ)在系統(tǒng)區(qū)域中。
III、多模存儲(chǔ)管理系統(tǒng)
在圖18中示出了本發(fā)明的另一實(shí)施例,其示出了采用SUE尋址方案以允許存儲(chǔ)系統(tǒng)(例如,圖16中的存儲(chǔ)系統(tǒng)1602)在存儲(chǔ)系統(tǒng)中尋址邏輯和SUE存儲(chǔ)空間的示例性多模存儲(chǔ)管理系統(tǒng)1802。多模存儲(chǔ)管理系統(tǒng)1802可包括SUE存儲(chǔ)管理器1804、邏輯存儲(chǔ)管理器1806、回收管理器1808和存儲(chǔ)陣列管理器1810。
SUE存儲(chǔ)管理器1804可提供用戶數(shù)據(jù)存儲(chǔ)映射、讀寫功能。SUE存儲(chǔ)管理器1804可使用SUE地址映射方案將用戶數(shù)據(jù)映射到存儲(chǔ)系統(tǒng)的用戶區(qū)域。SUE存儲(chǔ)管理器1804可通過存儲(chǔ)系統(tǒng)的存儲(chǔ)裝置的SUE接口來訪問存儲(chǔ)在用戶區(qū)域中的用戶數(shù)據(jù)。
SUE映射方案可在存儲(chǔ)系統(tǒng)與存儲(chǔ)裝置之間分配邏輯塊地址到物理地址映射功能。也就是說,SUE映射方案可將從邏輯塊地址到SUE地址的存儲(chǔ)系統(tǒng)級映射或虛擬化與從SUE地址到物理地址的存儲(chǔ)裝置級映射或轉(zhuǎn)換結(jié)合起來。
SUE映射方案可將存儲(chǔ)裝置的某些物理特征或典型幾何暴露給存儲(chǔ)系統(tǒng),使得將跨越多個(gè)存儲(chǔ)裝置在存儲(chǔ)系統(tǒng)級而非單個(gè)存儲(chǔ)裝置級執(zhí)行的用戶數(shù)據(jù)的某些非易失性存儲(chǔ)管理功能成為可能。從單個(gè)存儲(chǔ)裝置級到從存儲(chǔ)系統(tǒng)級的用戶數(shù)據(jù)管理任務(wù)的這種再分布可導(dǎo)致系統(tǒng)效率,包括降低的寫入放大因子,允許減小的資源配置和降低的成本。
邏輯存儲(chǔ)管理器1806可提供系統(tǒng)數(shù)據(jù)存儲(chǔ)映射、讀寫功能。邏輯存儲(chǔ)管理器1806可使用諸如邏輯塊尋址(LBA)的邏輯地址映射方案將系統(tǒng)數(shù)據(jù)映射到存儲(chǔ)裝置的系統(tǒng)區(qū)域。邏輯存儲(chǔ)管理器1806可通過存儲(chǔ)裝置的邏輯接口訪問存儲(chǔ)在系統(tǒng)區(qū)域中的系統(tǒng)數(shù)據(jù)。
因此,在一些實(shí)施例中,關(guān)聯(lián)的存儲(chǔ)裝置的存儲(chǔ)空間或多個(gè)關(guān)聯(lián)的存儲(chǔ)裝置中的每個(gè)存儲(chǔ)裝置可被細(xì)分或分區(qū)為包括邏輯尋址系統(tǒng)區(qū)域和SUE尋址用戶區(qū)域的分開的存儲(chǔ)區(qū)域或地址空間。存儲(chǔ)裝置可包括兩個(gè)主機(jī)接口,邏輯主機(jī)接口可提供對邏輯尋址系統(tǒng)區(qū)域的訪問,SUE主機(jī)接口可提供對SUE尋址用戶區(qū)域的訪問??捎蓡蝹€(gè)存儲(chǔ)裝置控制器執(zhí)行關(guān)于系統(tǒng)數(shù)據(jù)的非易失性存儲(chǔ)管理功能。
關(guān)于用戶數(shù)據(jù),回收管理器1808可在存儲(chǔ)系統(tǒng)級提供包括自由空間管理與回收或垃圾收集的非易失性存儲(chǔ)管理功能。因此,包括在存儲(chǔ)系統(tǒng)中的單個(gè)存儲(chǔ)裝置可以不執(zhí)行用于用戶數(shù)據(jù)的局部回收(垃圾收集)?;厥展芾砥?808可實(shí)施各種自由空間管理和回收方法。在一些實(shí)施例中,回收管理器1808也可執(zhí)行在此公開中描述的新的自由空間管理和回收方法。
關(guān)于用戶數(shù)據(jù),存儲(chǔ)陣列管理器1810或單個(gè)磁盤冗余陣列(RAID)管理器可為包括在存儲(chǔ)系統(tǒng)中的多個(gè)存儲(chǔ)裝置的陣列提供存儲(chǔ)管理(包括數(shù)據(jù)恢復(fù)功能)。因此,包括在存儲(chǔ)系統(tǒng)中的單個(gè)存儲(chǔ)裝置可不對用戶數(shù)據(jù)執(zhí)行芯片級RAID功能。存儲(chǔ)陣列管理器1810可實(shí)施各種存儲(chǔ)管理和數(shù)據(jù)恢復(fù)方法。在一些實(shí)施例中,存儲(chǔ)陣列管理器1810也可執(zhí)行在此公開中描述的新的存儲(chǔ)管理和數(shù)據(jù)恢復(fù)方法。
現(xiàn)在參照圖19,示出了另一示例性多模存儲(chǔ)管理系統(tǒng)1902,所述多模存儲(chǔ)管理系統(tǒng)1902采用SUE尋址方案以允許存儲(chǔ)系統(tǒng)在諸如圖16的存儲(chǔ)系統(tǒng)1602的存儲(chǔ)系統(tǒng)中尋址邏輯和SUE存儲(chǔ)空間。多模存儲(chǔ)管理系統(tǒng)1902可包括數(shù)據(jù)對齊單元(DAU)1904、SUE存儲(chǔ)訪問管理器1906、數(shù)據(jù)壓縮管理器1908、卷映射引擎1910、緩沖管理器1912、元塊管理器1914、回收管理器1916、存儲(chǔ)陣列管理器1918和邏輯存儲(chǔ)訪問管理器1920。
數(shù)據(jù)對齊單元(DAU)1904可從小型計(jì)算機(jī)系統(tǒng)接口(SCSI)目標(biāo)接收邏輯尋址介質(zhì)訪問命令,例如,讀取、寫入和去映射命令。命令基于由整數(shù)索引指示存儲(chǔ)塊的線性尋址方案來使用邏輯塊尋址(LBA),SCSI存儲(chǔ)位置提取標(biāo)準(zhǔn)。在邏輯塊尋址中,單精度-整數(shù)基地址用于識別數(shù)據(jù)的每個(gè)邏輯塊的開始,每個(gè)線性基地址與單個(gè)邏輯塊唯一地關(guān)聯(lián)。因此,邏輯塊尋址從操作系統(tǒng)、文件系統(tǒng)、硬盤驅(qū)動(dòng)器和主機(jī)應(yīng)用內(nèi)隱藏或掩蓋存儲(chǔ)裝置的具體細(xì)節(jié)或特征。
在寫入操作期間,數(shù)據(jù)對齊單元1904可將從SCSI目標(biāo)接收的數(shù)據(jù)的邏輯塊與SUE映射塊結(jié)合。例如,在一些實(shí)施例中,整數(shù)數(shù)量的邏輯塊可被分組以形成SUE映射塊。數(shù)據(jù)壓縮管理器1908可選擇性地對SUE映射塊中的用戶數(shù)據(jù)執(zhí)行數(shù)據(jù)壓縮算法。
在讀取操作期間,數(shù)據(jù)對齊單元1904可從SCSI目標(biāo)接收讀取命令并將讀取請求傳遞到SUE存儲(chǔ)訪問管理器1906。數(shù)據(jù)對齊單元1904可從SUE存儲(chǔ)訪問管理器1906接收請求的用戶數(shù)據(jù)并將請求的用戶數(shù)據(jù)傳遞到SCSI目標(biāo)。
SUE存儲(chǔ)訪問管理器1906可提供用戶數(shù)據(jù)讀寫功能。在寫入操作期間,SUE存儲(chǔ)訪問管理器1906可針對每個(gè)SUE映射塊生成標(biāo)題節(jié)。標(biāo)題節(jié)可包含例如在回收和數(shù)據(jù)恢復(fù)活動(dòng)中使用的信息。SUE存儲(chǔ)訪問管理器1906可在存儲(chǔ)裝置傳輸塊中放置壓縮的SUE映射塊和對應(yīng)的標(biāo)題節(jié)。在一些實(shí)施例中,壓縮的SUE映射塊和用戶數(shù)據(jù)的附上的邏輯塊允許跨越兩個(gè)或更多個(gè)存儲(chǔ)裝置傳輸塊。
SUE存儲(chǔ)訪問管理器1906還可將整數(shù)數(shù)量的存儲(chǔ)裝置傳輸塊與SUE頁對齊以傳送至存儲(chǔ)裝置。SUE存儲(chǔ)訪問管理器1906可將與SUE頁對應(yīng)的存儲(chǔ)裝置傳輸塊傳送至寫入緩沖器。
在一些實(shí)施例中,壓縮的SUE映射塊和用戶數(shù)據(jù)的附上的邏輯塊允許跨越兩個(gè)或更多個(gè)SUE頁。每個(gè)SUE頁可對應(yīng)于存儲(chǔ)系統(tǒng)的單個(gè)存儲(chǔ)裝置。SUE頁可為SUE映射方案中的編程或?qū)懭氩僮鞯幕締卧?/p>
在讀取操作期間,SUE存儲(chǔ)訪問管理器1906可確定請求的用戶數(shù)據(jù)的位置,并且請求將請求的用戶數(shù)據(jù)從關(guān)聯(lián)的存儲(chǔ)裝置讀取到讀取緩沖器。SUE存儲(chǔ)訪問管理器1906可將用戶數(shù)據(jù)從讀取緩沖器傳送到數(shù)據(jù)對齊單元1904。
作為SUE尋址方案的子功能或補(bǔ)充功能,數(shù)據(jù)壓縮管理器1908可對用戶數(shù)據(jù)執(zhí)行壓縮算法。由數(shù)據(jù)壓縮管理器1908執(zhí)行的數(shù)據(jù)壓縮功能可幫助抵消導(dǎo)致寫入放大的固有系統(tǒng)因子。
卷映射引擎1910可協(xié)調(diào)SUE地址映射功能。卷映射引擎1910可保留記錄用戶數(shù)據(jù)的當(dāng)前位置的用戶區(qū)域映射表。用戶區(qū)域映射表可包括將邏輯塊地址關(guān)聯(lián)到存儲(chǔ)的用戶數(shù)據(jù)的SUE地址的映射信息。用戶區(qū)域映射表可存儲(chǔ)在關(guān)聯(lián)的存儲(chǔ)裝置的邏輯尋址的系統(tǒng)區(qū)域中。
在寫入操作期間,卷映射引擎1910可針對寫入的用戶數(shù)據(jù)基于從SUE存儲(chǔ)訪問管理器1906接收的新的或修訂的SUE地址位置更新用戶區(qū)域映射表。
在讀取操作期間,卷映射引擎1910可基于請求的邏輯塊地址在用戶區(qū)域映射表中查找請求的用戶數(shù)據(jù)的SUE地址位置并將SUE地址位置提供至SUE存儲(chǔ)訪問管理器1906。
卷映射引擎1910可將用戶數(shù)據(jù)組織為SUE頁、SUE塊、元頁和元塊。SUE塊可映射單個(gè)存儲(chǔ)裝置上的多個(gè)物理塊。在一些實(shí)施例中,映射至相同的SUE塊的物理塊可分別位于存儲(chǔ)裝置的不同芯片上。映射至同一SUE塊的全部物理塊可以在存儲(chǔ)裝置級作為一個(gè)單元被管理和擦除。因此,SUE塊可對應(yīng)于針對回收和自由空間管理而對各芯片共同管理的一組物理塊。同樣地,與SUE塊對應(yīng)的芯片上的各物理塊的組可被管理為存儲(chǔ)介質(zhì)的單元。
每個(gè)SUE塊可包括多個(gè)SUE頁,每個(gè)SUE頁可與映射至SUE塊的各物理塊的物理頁對齊。被定位成跨越存儲(chǔ)系統(tǒng)中所包括的所有存儲(chǔ)裝置的各SUE塊的對應(yīng)的SUE頁可映射至元頁。類似地,被定位成跨越存儲(chǔ)系統(tǒng)中所包括的所有的存儲(chǔ)裝置的對應(yīng)的SUE塊可映射至元塊。
可針對用戶數(shù)據(jù)的元塊執(zhí)行在多模存儲(chǔ)管理系統(tǒng)1902級的存儲(chǔ)介質(zhì)管理功能(例如,回收和自由空間管理)。因此,可針對在存儲(chǔ)系統(tǒng)中所包括的每個(gè)存儲(chǔ)裝置中共同管理的對應(yīng)物理塊的組執(zhí)行在多模存儲(chǔ)管理系統(tǒng)1902級的存儲(chǔ)介質(zhì)管理功能。
可針對用戶數(shù)據(jù)的元頁執(zhí)行編程操作和讀取操作。因此,可對在存儲(chǔ)系統(tǒng)中包括的每個(gè)非易失性存儲(chǔ)裝置中共同管理的對應(yīng)的物理頁的組執(zhí)行編程操作和讀取操作。
因此,以將物理存儲(chǔ)區(qū)域的重要的組織或典型幾何暴露至多模存儲(chǔ)管理系統(tǒng)1902的方式,可以使存儲(chǔ)系統(tǒng)中包括的存儲(chǔ)裝置虛擬化。在單一存儲(chǔ)裝置中包括的各芯片上共同管理的物理塊的組可作為SUE塊提供給多模存儲(chǔ)管理系統(tǒng)1902,在被定位成跨越存儲(chǔ)系統(tǒng)中所包括的全部存儲(chǔ)裝置的各芯片上共同管理的物理塊的對應(yīng)的組可作為元塊提供給多模存儲(chǔ)管理系統(tǒng)1902。
類似地,在單一存儲(chǔ)裝置中包括的各芯片上共同編程的物理頁的組可作為SUE頁提供給多模存儲(chǔ)管理系統(tǒng)1902,在被定位成跨越存儲(chǔ)系統(tǒng)中所包括的全部存儲(chǔ)裝置的各芯片上共同編程的物理頁的組可作為元頁提供給多模存儲(chǔ)管理系統(tǒng)1902。
緩沖管理器1912可管理一批讀取和寫入緩沖器。在寫入操作期間,緩沖管理器1912可在寫入緩沖器中積累從SUE存儲(chǔ)訪問管理器1906接收的存儲(chǔ)裝置傳輸塊,直到在用戶數(shù)據(jù)作為SUE頁通過存儲(chǔ)陣列管理器1918被分別發(fā)送至單個(gè)存儲(chǔ)裝置之前已經(jīng)積累了用戶數(shù)據(jù)的幾乎完整的元頁。
在讀取操作期間,緩沖管理器1912可提供讀取緩沖器以支持讀取緩存功能。從存儲(chǔ)陣列管理器1918接收作為存儲(chǔ)裝置傳輸塊的用戶數(shù)據(jù)的SUE頁可保存在讀取緩沖器中,直到被轉(zhuǎn)發(fā)至SUE存儲(chǔ)訪問管理器1906。
元塊管理器1914可跟蹤在存儲(chǔ)裝置的用戶區(qū)域中定義的單個(gè)元塊的當(dāng)前狀態(tài),例如,被擦除、有效、關(guān)閉、回收或擦除。當(dāng)前狀態(tài)可存儲(chǔ)在元塊信息表中,元塊信息表可存儲(chǔ)在存儲(chǔ)器中并在存儲(chǔ)裝置的系統(tǒng)區(qū)域中備份。元塊管理器1914也可以保持當(dāng)前在特定狀態(tài)下的元塊的對應(yīng)列表,諸如被擦除列表、回收列表和擦除列表。元塊管理器1914可選擇用于提交至SUE存儲(chǔ)訪問管理器1906的特定的元塊以進(jìn)行回收活動(dòng)。
回收管理器1916可服務(wù)來自元塊管理器1914的回收請求以恢復(fù)來自指定的元塊的有效用戶數(shù)據(jù)并將有效用戶數(shù)據(jù)重定位到其他元塊?;厥展芾砥?916可請求擦除并回收與指定的元塊對應(yīng)的物理存儲(chǔ)單元以在存儲(chǔ)裝置的用戶區(qū)域中提供自由空間。
存儲(chǔ)陣列管理器1918可向SUE接口提供存儲(chǔ)裝置的用戶區(qū)域,并且向邏輯接口提供存儲(chǔ)裝置的系統(tǒng)區(qū)域。存儲(chǔ)陣列管理器1918可提供數(shù)據(jù)保護(hù)功能,諸如RAID分條和奇偶校驗(yàn)。例如,在一些實(shí)施例中,存儲(chǔ)裝置傳輸塊可用作RAID元素,RAID條帶可包括被定位成跨越元頁中所有SUE頁的存儲(chǔ)裝置傳輸塊。因此,如果存儲(chǔ)系統(tǒng)中的單個(gè)存儲(chǔ)裝置故障,存儲(chǔ)陣列管理器1918能夠使用反向校驗(yàn)計(jì)算從故障的存儲(chǔ)裝置恢復(fù)數(shù)據(jù)。
邏輯存儲(chǔ)訪問管理器1920可使用邏輯尋址方法提供系統(tǒng)數(shù)據(jù)讀寫功能。邏輯存儲(chǔ)訪問管理器1920可存儲(chǔ)并檢索關(guān)于用戶數(shù)據(jù)的元數(shù)據(jù),元數(shù)據(jù)包括用戶區(qū)域映射表、元塊信息表、卷表及存儲(chǔ)系統(tǒng)文件、日志文件等。
關(guān)于存儲(chǔ)在用戶區(qū)域中的用戶數(shù)據(jù),單個(gè)非易失性存儲(chǔ)裝置可負(fù)責(zé)某些存儲(chǔ)介質(zhì)管理功能,例如,讀取重試、故障的物理塊映射、糾錯(cuò)碼(ECC)、高級增加階躍脈沖編程(ISPP)等。關(guān)于存儲(chǔ)在系統(tǒng)區(qū)域中的系統(tǒng)數(shù)據(jù),單個(gè)非易失性存儲(chǔ)裝置可負(fù)責(zé)全部的存儲(chǔ)介質(zhì)管理功能,例如,回收、損耗均衡、讀寫緩存、讀取重試、故障的物理塊映射、糾錯(cuò)碼(ECC)、高級增加階躍脈沖編程(ISPP)等。
現(xiàn)在參照圖20,示出了另一示例性多模存儲(chǔ)管理系統(tǒng)2002或混合映射系統(tǒng)(HMS),其采用SUE尋址方案以允許存儲(chǔ)系統(tǒng)對存儲(chǔ)裝置中的邏輯和SUE存儲(chǔ)空間進(jìn)行尋址。
多模存儲(chǔ)管理系統(tǒng)2002可用作負(fù)責(zé)關(guān)于跨越存儲(chǔ)系統(tǒng)中所包括的多個(gè)存儲(chǔ)裝置分布的用戶區(qū)域的非易失性存儲(chǔ)介質(zhì)管理的全局閃存轉(zhuǎn)換層(GFTL)。多模存儲(chǔ)管理系統(tǒng)2002可執(zhí)行非易失性存儲(chǔ)介質(zhì)訪問功能、地址映射功能、回收和損耗均衡功能,其中,地址映射功能將主機(jī)應(yīng)用邏輯地址空間元素映射為與物理非易失性存儲(chǔ)位置對齊的SUE地址空間數(shù)據(jù)結(jié)構(gòu)。
多模存儲(chǔ)管理系統(tǒng)2002可包括數(shù)據(jù)對齊單元(DAU)2004、用戶區(qū)域訪問管理器(UAAM)2006、用戶區(qū)域映射引擎(UAME)2008、緩沖管理器(BM)2010、系統(tǒng)區(qū)域訪問管理器(SAAM)2012、元塊管理器(MBM)2014、元塊信息管理器(MBI)2016、存儲(chǔ)裝置控制管理器(SCM)2018、存儲(chǔ)裝置訪問管理器(SAM)2020、全局狀態(tài)管理器(GSM)2022和全局錯(cuò)誤管理器(GEM)2024。多模存儲(chǔ)管理系統(tǒng)2002可通信地連接到系統(tǒng)狀態(tài)管理器2026、系統(tǒng)記錄和統(tǒng)計(jì)管理器2028、目標(biāo)裝置2030和多個(gè)非易失性存儲(chǔ)(NVM)裝置2032。
全局錯(cuò)誤管理器2024可管理在包括多模存儲(chǔ)管理系統(tǒng)2002的存儲(chǔ)系統(tǒng)中發(fā)生的全局錯(cuò)誤。系統(tǒng)狀態(tài)管理器2026可管理多模存儲(chǔ)管理系統(tǒng)2002的狀態(tài),例如,操作條件。系統(tǒng)記錄和統(tǒng)計(jì)管理器2028可基于包括多模存儲(chǔ)管理系統(tǒng)2002的存儲(chǔ)系統(tǒng)的操作提供系統(tǒng)記錄/統(tǒng)計(jì)。非易失性存儲(chǔ)裝置2032可包括廣泛使用的各種非易失性存儲(chǔ)器。目標(biāo)裝置2030可以是作為讀取/寫入操作的目標(biāo)的另一存儲(chǔ)裝置。
數(shù)據(jù)對齊單元(DAU)2004可從目標(biāo)裝置2030接收邏輯尋址的介質(zhì)訪問命令,例如,讀取、寫入和去映射命令。數(shù)據(jù)對齊單元2004可接收邏輯塊尋址(LBA)緩沖列表作為輸入。在寫入操作期間,數(shù)據(jù)對齊單元2004可將從目標(biāo)裝置2030接收的數(shù)據(jù)的邏輯塊組合為SUE映射塊或混合映射塊(HMB)。例如,在一些實(shí)施例中,整數(shù)數(shù)量的邏輯塊可被分組以形成SUE映射塊。
數(shù)據(jù)對齊單元2004可合并來自目標(biāo)裝置2030的對齊的和未對齊的用戶數(shù)據(jù)通信量,對未對齊的寫入通信量執(zhí)行讀取/修改/寫入操作以將數(shù)據(jù)與用于將邏輯地址映射到物理地址(SUE映射塊)的單元對齊。數(shù)據(jù)對齊單元2004可將用戶數(shù)據(jù)放置在SUE映射塊對齊緩沖列表中。在各種實(shí)施例中,SUE映射塊可包含固定數(shù)量的數(shù)據(jù),諸如4KB、8KB、16KB等。
在讀取操作期間,數(shù)據(jù)對齊單元2004可從目標(biāo)裝置2030接收讀取命令并將讀取請求傳遞到用戶區(qū)域訪問管理器2006。數(shù)據(jù)對齊單元2004可從用戶區(qū)域訪問管理器2006接收請求的用戶數(shù)據(jù)并將請求的用戶數(shù)據(jù)傳送到目標(biāo)裝置2030。
圖21是示出根據(jù)本發(fā)明的實(shí)施例的可由多模存儲(chǔ)管理系統(tǒng)實(shí)施的用戶區(qū)域訪問管理器(UAAM)。參照圖21,用戶區(qū)域訪問管理器(UAAM)2006可包括讀取管理器(RM)2012、寫入管理器(WM)2104、數(shù)據(jù)壓縮管理器(DC)2106、數(shù)據(jù)解壓縮管理器(DD)2108、回收管理器(RC)2110、自由空間賬戶管理器(FSA)2112、流控制管理器(FC)2114和服務(wù)質(zhì)量管理器(QoS)2116。
讀取管理器(RM)2102可從數(shù)據(jù)對齊單元2004接收讀取請求并服務(wù)讀取請求。讀取管理器2102可從用戶區(qū)域映射引擎(UAME)2008請求相關(guān)的映射信息。讀取管理器2102可將讀取請求發(fā)送到存儲(chǔ)裝置訪問管理器2020。在讀取操作期間,讀取管理器2102可從緩沖管理器2010請求讀取緩沖器中的用戶數(shù)據(jù)的釋放。讀取管理器2102可將關(guān)于讀取請求的用戶數(shù)據(jù)的解壓縮的請求發(fā)送至用戶解壓縮管理器2108。
寫入管理器(WM)2104可從數(shù)據(jù)對齊單元2004接收寫入請求。在寫入操作期間,寫入管理器2104可在SUE映射塊流上生成元數(shù)據(jù)頭,并生成關(guān)于用戶數(shù)據(jù)的SUE尋址的用于數(shù)據(jù)區(qū)域映射引擎2008的映射信息。寫入管理器2104可將壓縮的請求發(fā)送至數(shù)據(jù)壓縮管理器2106以調(diào)度數(shù)據(jù)壓縮命令,并將寫入請求發(fā)送至存儲(chǔ)裝置訪問管理器2020。寫入管理器2104可從緩沖管理器2010請求寫入緩沖器中的用戶數(shù)據(jù)的釋放。當(dāng)寫入數(shù)據(jù)的當(dāng)前元塊已經(jīng)變滿時(shí),寫入管理器2104可請求元塊管理器(MBM)2104以開啟新的有效元塊。
數(shù)據(jù)壓縮管理器(DC)2106可從寫入管理器2104接收壓縮請求并服務(wù)壓縮請求。在一些實(shí)施例中,數(shù)據(jù)壓縮管理器2106可對SUE映射塊中的用戶數(shù)據(jù)實(shí)施數(shù)據(jù)壓縮算法。在一些其他實(shí)施例中,數(shù)據(jù)壓縮管理器2106可將數(shù)據(jù)壓縮任務(wù)調(diào)度至外部壓縮單元(未示出)。
數(shù)據(jù)解壓縮管理器(DD)2108可從讀取管理器2102接收解壓縮請求并服務(wù)解壓縮請求。在一些實(shí)施例中,數(shù)據(jù)解壓縮管理器2108可對SUE映射塊中的用戶數(shù)據(jù)實(shí)施數(shù)據(jù)解壓縮算法。在一些其他實(shí)施例中,數(shù)據(jù)解壓縮管理器2108可將數(shù)據(jù)解壓縮任務(wù)調(diào)度到外部解壓縮單元(未示出)。
回收管理器(RC)2110可從元塊管理器2104接收回收請求并服務(wù)回收請求以恢復(fù)來自指定元塊的有效數(shù)據(jù)以回收自由空間?;厥展芾砥?110可從用戶區(qū)域映射引擎2008請求相關(guān)的映射信息并將關(guān)于指定元塊的讀取請求發(fā)送至讀取管理器2102?;厥展芾砥?110可解析存儲(chǔ)裝置讀取數(shù)據(jù)流中SUE映射塊所附的元數(shù)據(jù)頭并將關(guān)于指定的元塊中保留的全部有效數(shù)據(jù)的寫入請求發(fā)送至寫入管理器2104。回收管理器2110也可服務(wù)來自存儲(chǔ)裝置控制管理器(SCM)2018的請求以回收部分元塊數(shù)據(jù)。
自由空間賬戶管理器(FSA)2112可在寫入操作期間從寫入管理器2104接收映射信息并生成關(guān)于存儲(chǔ)在元塊中的過期用戶數(shù)據(jù)的自由空間信息。自由空間賬戶管理器2112可將自由空間信息發(fā)送至元塊信息管理器2016以更新相應(yīng)的元塊信息表?xiàng)l目。
流控制管理器(FC)2114可監(jiān)測系統(tǒng)資源,諸如讀取/寫入緩沖器、壓縮緩沖器、存儲(chǔ)總線及其他隊(duì)列深度等。如果系統(tǒng)級資源配置降至預(yù)設(shè)的限制之下,則流控制管理器2114可重置服務(wù)質(zhì)量管理器2116中的節(jié)流等級。在一些實(shí)施例中,可使用系統(tǒng)管理員命令建立需要的等級的資源配置。流控制管理器2114可為系統(tǒng)管理員提供可用于接口級節(jié)流的統(tǒng)計(jì)。
服務(wù)質(zhì)量管理器(QoS)可基于系統(tǒng)資源配置等級和延遲測量來定義服務(wù)質(zhì)量策略。服務(wù)質(zhì)量管理器2116可實(shí)施多個(gè)隊(duì)列以服務(wù)不同的服務(wù)質(zhì)量的策略池。關(guān)于基于延遲的策略,服務(wù)質(zhì)量管理器2116可對隊(duì)列條目實(shí)施時(shí)間戳。服務(wù)質(zhì)量管理器2116可監(jiān)測各種隊(duì)列參數(shù)并選擇請求以確保不違反策略。在流控制器2114的請求下,服務(wù)質(zhì)量管理器2116可對基于配置的策略隊(duì)列的通信量進(jìn)行節(jié)流。
圖22是示出根據(jù)本發(fā)明的實(shí)施例的可由多模存儲(chǔ)管理系統(tǒng)實(shí)施的用戶區(qū)域映射引擎(UAME)的示意圖。參照圖22,用戶區(qū)域映射引擎(UAME)2008可包括卷管理器(VM)2202、映射頁讀取管理器(MPRM)2204、映射頁寫入管理器(MPWM)2206和映射頁緩存管理器(MPCM)2208。
卷管理器(VM)2202可提供服務(wù)以創(chuàng)建、銷毀和管理卷并處理多個(gè)配置策略。卷管理器2202可在卷表中維持相關(guān)信息,卷表可存儲(chǔ)在存儲(chǔ)器中并在系統(tǒng)區(qū)域中備份,并且卷管理器2202可為卷表中的條目提供訪問服務(wù)。卷管理器2202可使用系統(tǒng)區(qū)域訪問管理器2012以備份和還原卷表。
當(dāng)由映射頁緩存管理器2208檢測到映射頁缺失時(shí),映射頁讀取管理器(MPRM)2204可接收并服務(wù)針對缺失的映射頁的由映射頁緩存管理器2208提供的請求。映射頁寫入管理器(MPWM)2206可從映射頁緩存管理器2208接收并服務(wù)針對映射頁收回的請求。
映射頁緩存管理器(MPCM)2208可服務(wù)由讀取管理器2102和回收管理器2110提供的映射條目信息請求,和由寫入管理器2104提供的映射條目更新。當(dāng)檢測到映射頁缺失時(shí),映射頁緩存管理器2208可從映射頁讀取管理器2204請求缺失的映射頁。映射頁緩存管理器2208可從映射頁寫入管理器2206請求映射頁收回。
緩沖管理器(BM)2010可管理一批讀取緩沖器和寫入緩沖器。在寫入操作期間,緩沖管理器2010可分配并釋放存儲(chǔ)裝置傳輸塊以在寫入緩沖器中積累從寫入管理器2104接收的用戶數(shù)據(jù)。當(dāng)已經(jīng)積累了用戶數(shù)據(jù)的幾乎完整的元頁時(shí)緩沖管理器2010可從寫入管理器2104接收對寫入緩沖器中的用戶數(shù)據(jù)的釋放的請求,并將用戶數(shù)據(jù)轉(zhuǎn)發(fā)至存儲(chǔ)裝置訪問管理器2020。
在讀取操作期間,緩沖管理器2010可分配并釋放在讀取緩沖器中的存儲(chǔ)裝置傳輸塊以支持讀取緩存功能。作為存儲(chǔ)裝置傳輸塊從存儲(chǔ)裝置訪問管理器2020接收的用戶數(shù)據(jù)的SUE頁可最初保存在讀取緩沖器中。緩沖管理器2010可從讀取管理器2102接收對讀取緩沖器中的用戶數(shù)據(jù)的釋放的請求,并且緩沖管理器2010可將存儲(chǔ)裝置傳輸塊轉(zhuǎn)發(fā)至讀取管理器2102。
系統(tǒng)區(qū)域訪問管理器(SAAM)2012可服務(wù)關(guān)于對存儲(chǔ)系統(tǒng)中所包括的存儲(chǔ)裝置的系統(tǒng)區(qū)域中存儲(chǔ)的系統(tǒng)數(shù)據(jù)的訪問的請求。系統(tǒng)區(qū)域訪問管理器2012可接收并服務(wù)來自卷管理器2202和元塊信息管理器2016的請求以分別備份并還原卷表和元塊信息表。系統(tǒng)區(qū)域訪問管理器2012可接收并服務(wù)來自映射頁寫入管理器2206、映射頁讀取管理器2204和映射頁緩存管理器2208的請求以訪問用戶區(qū)域映射表。
圖23是示出根據(jù)本發(fā)明的實(shí)施例的可由多模存儲(chǔ)管理系統(tǒng)實(shí)施的元塊管理器(MBM)的示意圖。參照圖23,元塊管理器2014可包括回收元塊拾取器(reclamation metablock picker,RCMBP)2302和元塊狀態(tài)管理器(MBSM)2304。
回收元塊拾取器(RCMBP)2302可監(jiān)測關(guān)于用戶區(qū)域元塊的參數(shù),諸如擦除計(jì)數(shù)、過期數(shù)據(jù)水平、停頓時(shí)間等?;诒O(jiān)測的參數(shù),回收元塊拾取器2302可選擇用于回收或垃圾收集的元塊?;厥赵獕K拾取器2302可實(shí)施各種損耗平衡策略。例如,回收元塊拾取器2302可嘗試將元塊擦除計(jì)數(shù)保持在優(yōu)選值范圍內(nèi),并嘗試在分開的元塊中隔離相對動(dòng)態(tài)(熱)和相對靜態(tài)(冷)的數(shù)據(jù)。
元塊狀態(tài)管理器(MBSM)2304可跟蹤用戶區(qū)域元塊的當(dāng)前狀態(tài),例如,有效、關(guān)閉、擦除、被擦除、回收或垃圾收集。元塊狀態(tài)管理器2304可通過更新元塊信息表將元塊轉(zhuǎn)換為各種狀態(tài)。元塊狀態(tài)管理器2304也可保持在特定狀態(tài)下的元塊的各種列表,例如,被擦除的元塊列表、回收元塊列表和擦除元塊列表。元塊狀態(tài)管理器2304可監(jiān)測被擦除的元塊列表以確定準(zhǔn)備回收(垃圾收集)的單個(gè)元塊。
元塊信息管理器(MBI)2016可保持元塊信息表。元塊信息管理器2016可針對其他模塊提供對元塊信息表中的條目的訪問服務(wù)。元塊信息管理器2016可向系統(tǒng)區(qū)域訪問管理器2012發(fā)送請求以備份并恢復(fù)元塊信息表。
圖24是示出根據(jù)本發(fā)明的實(shí)施例的可以由多模存儲(chǔ)管理系統(tǒng)實(shí)施的存儲(chǔ)裝置控制管理器(SCM)的示意圖。參照圖24,存儲(chǔ)裝置控制管理器(SCM)2018或固態(tài)驅(qū)動(dòng)器(SSD)控制管理器(SCM)可包括存儲(chǔ)裝置記錄和統(tǒng)計(jì)管理器(SLS)2402、S塊擦除引擎(SBEE)2404和存儲(chǔ)裝置錯(cuò)誤管理器(SEM)2406。
存儲(chǔ)裝置記錄和統(tǒng)計(jì)管理器(SLS)2402可保持存儲(chǔ)裝置訪問歷史的日志。
S-Block擦除引擎(SBEE)2404可通過元塊管理器2014從回收管理器2110接收擦除請求并管理擦除過程。S-Block擦除引擎2404可發(fā)送S-Block擦除請求至存儲(chǔ)裝置訪問管理器2020。
存儲(chǔ)裝置錯(cuò)誤管理器(SEM)2406可發(fā)送請求至回收管理器2110以回收部分元塊數(shù)據(jù)。
圖25是示出根據(jù)本發(fā)明的實(shí)施例的可由多模存儲(chǔ)管理系統(tǒng)實(shí)施的存儲(chǔ)裝置訪問管理器(SAM)的示意圖。參照圖25,存儲(chǔ)裝置訪問管理器(SAM)2020可包括邏輯訪問管理器(SLA)2502、RAID管理器(RAID)2504、讀取查找引擎(RLE)2506和存儲(chǔ)初始化管理器(SI)2508。
讀取查找引擎2506可提供/管理讀取操作查找。存儲(chǔ)初始化管理器2508可管理存儲(chǔ)系統(tǒng)的初始化操作。
邏輯訪問管理器(SLA)2502,或SSD邏輯訪問管理器可提供關(guān)于存儲(chǔ)裝置的系統(tǒng)區(qū)域中的系統(tǒng)數(shù)據(jù)的訪問服務(wù)。邏輯訪問管理器2502可使用各種邏輯塊尋址對存儲(chǔ)裝置的系統(tǒng)區(qū)域中的系統(tǒng)數(shù)據(jù)進(jìn)行尋址。邏輯訪問管理器2502可利用標(biāo)準(zhǔn)NVM Express(NVMe)或非易失性存儲(chǔ)主機(jī)控制器接口規(guī)范(NVMHCI),并可命令訪問在存儲(chǔ)系統(tǒng)中包括的存儲(chǔ)裝置或固態(tài)驅(qū)動(dòng)器(SSD)。
關(guān)于用戶數(shù)據(jù),RAID管理器(RAID)2504可為存儲(chǔ)系統(tǒng)中所包括的多個(gè)存儲(chǔ)裝置的陣列提供存儲(chǔ)管理(包括數(shù)據(jù)恢復(fù)功能)。因此,在存儲(chǔ)系統(tǒng)中包括的單個(gè)存儲(chǔ)裝置可不對用戶數(shù)據(jù)執(zhí)行芯片級RAID功能。RAID管理器2504可實(shí)施各種存儲(chǔ)管理和數(shù)據(jù)恢復(fù)方法。在一些實(shí)施例中,RAID管理器2504也可執(zhí)行在此公開中描述的新的存儲(chǔ)管理和數(shù)據(jù)恢復(fù)方法。
RAID管理器2504可向SUE接口提供存儲(chǔ)裝置的用戶區(qū)域,并且向邏輯接口提供存儲(chǔ)裝置的系統(tǒng)區(qū)域。RAID管理器2504可提供數(shù)據(jù)保護(hù)功能,諸如RAID分條和奇偶校驗(yàn)。例如,在一些實(shí)施例中,存儲(chǔ)裝置傳輸塊可用作RAID元素,RAID條帶可包括被定位成跨越元頁中的所有SUE頁的存儲(chǔ)裝置傳輸塊。因此,如果存儲(chǔ)系統(tǒng)中的單個(gè)存儲(chǔ)裝置故障,RAID管理器2504能夠使用反向奇偶計(jì)算從故障的存儲(chǔ)裝置中恢復(fù)數(shù)據(jù)。
圖26是示出根據(jù)本發(fā)明的實(shí)施例的可由多模存儲(chǔ)管理系統(tǒng)實(shí)施的全局狀態(tài)管理器(GSM)的示意圖。參照圖26,全局狀態(tài)管理器(GSM)2022可包括電源故障管理器(PFM)2602以及錯(cuò)誤和崩潰管理器(PFCM)2604。
電源故障管理器2602可管理與多模存儲(chǔ)管理系統(tǒng)2002的電源故障關(guān)聯(lián)的問題。錯(cuò)誤和崩潰管理器2604可管理在多模存儲(chǔ)管理系統(tǒng)2002中發(fā)生的錯(cuò)誤/崩潰問題。
圖18、圖19和圖20的多模存儲(chǔ)管理系統(tǒng)1802、1902和2002的功能可由圖16的存儲(chǔ)系統(tǒng)1602實(shí)施。在可選的實(shí)施例中,多模存儲(chǔ)管理系統(tǒng)1802、1902和2002的功能可由常規(guī)計(jì)算裝置或由專用硬件實(shí)現(xiàn)。
所提出的多模方法包括促進(jìn)信息的高效和有效存儲(chǔ)的各種特征和特性。所述特征和特性可改善與性能關(guān)聯(lián)的許多不同方面。在一些實(shí)施例中,描述的分區(qū)方法的靈活性允許相對快的速度和可管理的復(fù)雜度的實(shí)現(xiàn)。相對大量的用戶數(shù)據(jù)可存儲(chǔ)在針對用戶數(shù)據(jù)的能夠非常快的存儲(chǔ)和管理操作的SUE地址空間中。而相對少量的元數(shù)據(jù)可存儲(chǔ)在允許存儲(chǔ)系統(tǒng)利用用于減小復(fù)雜性的元數(shù)據(jù)的提取性質(zhì)的邏輯尋址的區(qū)域中。
另外,增加相對較小的元數(shù)據(jù)區(qū)域的預(yù)留空間的靈活性給出了更大百分比的預(yù)留空間影響,該影響有助于加快元數(shù)據(jù)存儲(chǔ)操作并補(bǔ)償原本將會(huì)由于復(fù)雜性的增加而發(fā)生的速度的減小。與其他存儲(chǔ)系統(tǒng)相比,這允許更好的全局分配和更好的預(yù)留空間資源的影響。通過允許塊的不同存儲(chǔ)區(qū)域在兩個(gè)分區(qū)之間重新指定或重新分配,所述靈活性也可促進(jìn)改善的生命周期保護(hù)。存儲(chǔ)在區(qū)域中的數(shù)據(jù)的性質(zhì)(例如,類型)可表明,一種類型的數(shù)據(jù)比另一種類型的數(shù)據(jù)在區(qū)域中寫入/擦除得少(例如,與用戶數(shù)據(jù)相比,大多數(shù)元數(shù)據(jù)沒有改變很多),在一個(gè)分區(qū)中的物理塊可重新指定給另一分區(qū)以使特定區(qū)域上的磨損均等。通過將電力循環(huán)責(zé)任上移到系統(tǒng)級,靈活性也允許電力循環(huán)改善。
根據(jù)對計(jì)算機(jī)存儲(chǔ)器內(nèi)的數(shù)據(jù)位的操作的程序、邏輯塊、處理和其他操作的符號表示來呈現(xiàn)詳細(xì)描述的一些部分。這些描述和表示是由數(shù)據(jù)處理領(lǐng)域內(nèi)的技術(shù)人員通常使用以將他們的工作的實(shí)質(zhì)有效地傳達(dá)給本領(lǐng)域其他技術(shù)人員的方式。程序、邏輯塊或進(jìn)程在這里通常被構(gòu)思為導(dǎo)致期望的結(jié)果的前后照應(yīng)的步驟或指令。所述步驟包括物理量的物理操作。通常地,但不是必需地,這些物理量采用可在計(jì)算機(jī)系統(tǒng)中進(jìn)行存儲(chǔ)、傳送、組合、比較和另外的操作的電、磁、光或量子信號的形式。已經(jīng)證明,有時(shí)為了方便起見,主要出于普遍使用的原因,將這些信號稱為位、值、元素、符號、字符、項(xiàng)、數(shù)字等。
然而,應(yīng)該記住的是,所有這些和相似的術(shù)語與適當(dāng)?shù)奈锢砹筷P(guān)聯(lián),并且僅僅是應(yīng)用于這些物理量的方便的標(biāo)簽。除非特別地指出,否則從下面的討論清楚可知,應(yīng)理解的是,在整個(gè)本申請中,利用諸如“處理”、“計(jì)算(computing)”、“運(yùn)算(calculating)”、“確定”、“顯示”等的術(shù)語的討論是指操作和轉(zhuǎn)換被表示為物理(例如,電)量的數(shù)據(jù)的計(jì)算機(jī)系統(tǒng)或相似處理裝置(例如,電、光或量子計(jì)算裝置)的動(dòng)作和過程。所述術(shù)語是指將計(jì)算機(jī)系統(tǒng)的組件(例如,寄存器、存儲(chǔ)器、其他此類信息存儲(chǔ)器、傳輸或顯示裝置)內(nèi)將物理量操作或轉(zhuǎn)換為在其他組件內(nèi)相似地表示為物理量的其他數(shù)據(jù)的處理裝置的動(dòng)作和過程。
將僅從概念的角度理解在概念圖的每個(gè)中示出的配置。為了幫助本公開的理解,已經(jīng)夸大或縮小了在每個(gè)概念圖中示出的每個(gè)組件的形式、結(jié)構(gòu)和尺寸。實(shí)際實(shí)施的配置可具有與每個(gè)概念圖中示出的物理形狀不同的物理形狀。每個(gè)概念圖不意圖限制組件的物理形狀。
提供在每個(gè)框圖中示出的裝置配置以幫助本公開的理解。每個(gè)塊可根據(jù)功能由較小的塊形成??蛇x擇地,多個(gè)塊可根據(jù)功能形成較大的塊。即,本公開的精神或范圍不限制于在框圖中示出的配置。
以上,已經(jīng)基于一些示例實(shí)施例描述了本公開。然而,可以根據(jù)本領(lǐng)域的本質(zhì)利用與包括本公開的主題的上述示例實(shí)施例不同的方式實(shí)現(xiàn)本公開的目的。因此,應(yīng)該理解的是,上述示例實(shí)施例處于描述性和說明性的角度,而不是限制性的角度。即,包括本公開的主題并且可實(shí)現(xiàn)本公開的目標(biāo)的精神或范圍應(yīng)該被包括在本公開的發(fā)明構(gòu)思的精神或范圍內(nèi)。
因此,不脫離本公開的范圍或精神的修改或改變的技術(shù)構(gòu)思被包括在權(quán)利要求的范圍中。本公開的范圍不限制于上面的示例實(shí)施例。