亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

具有帶有非易失性半導(dǎo)體存儲器的非易失性半導(dǎo)體存儲設(shè)備的存儲系統(tǒng)的制作方法

文檔序號:6498145閱讀:171來源:國知局
具有帶有非易失性半導(dǎo)體存儲器的非易失性半導(dǎo)體存儲設(shè)備的存儲系統(tǒng)的制作方法
【專利摘要】一種耦合到主機(jī)的存儲系統(tǒng)具有非易失性半導(dǎo)體存儲設(shè)備和耦合到半導(dǎo)體存儲設(shè)備的存儲控制器,該非易失性半導(dǎo)體存儲設(shè)備包括由多個頁面配置的非易失性半導(dǎo)體存儲器。在多個頁面中存儲的數(shù)據(jù)變成非必需的情況下,以這多個頁面為基于非易失性半導(dǎo)體存儲設(shè)備的邏輯卷的區(qū)域的基礎(chǔ),存儲控制器向非易失性半導(dǎo)體存儲設(shè)備發(fā)送對于減少頁面數(shù)目的非必需減少請求,這些頁面是具有在其中存儲的非必需數(shù)據(jù)的區(qū)域的基礎(chǔ)?;诜潜匦铚p少請求,非易失性半導(dǎo)體存儲設(shè)備使多個頁面無效,這多個頁面是具有在其中存儲的非必需數(shù)據(jù)的區(qū)域的基礎(chǔ)。
【專利說明】具有帶有非易失性半導(dǎo)體存儲器的非易失性半導(dǎo)體存儲設(shè) 備的存儲系統(tǒng)

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種具有帶有非易失性半導(dǎo)體存儲器的非易失性半導(dǎo)體存儲設(shè)備的 存儲系統(tǒng)。

【背景技術(shù)】
[0002] 存儲系統(tǒng)一般向更高層設(shè)備(例如主機(jī))提供基于由多個存儲設(shè)備配置的 RAID (獨(dú)立盤冗余陣列)創(chuàng)建的邏輯卷。近年來,除HDD (硬盤驅(qū)動)之外或者作為HDD的 替代,還運(yùn)用帶有多個非易失性存儲器芯片的非易失性半導(dǎo)體存儲設(shè)備作為存儲設(shè)備中的 每個存儲設(shè)備。例如帶有多個閃存芯片(下文為"FM芯片")的閃存設(shè)備被運(yùn)用為非易失 性半導(dǎo)體存儲設(shè)備。例如已知在專利文獻(xiàn)1中描述的技術(shù)為具有這樣的閃存設(shè)備的存儲系 統(tǒng)。
[0003] 引用列表 [0004] 專利文獻(xiàn)
[0005] PTL1 :美國專利申請?zhí)?011/0231594(說明書)


【發(fā)明內(nèi)容】

[0006] 技術(shù)問題
[0007] 例如在閃存設(shè)備中,需要刷新或者回收與邏輯地址數(shù)據(jù)關(guān)聯(lián)的頁面的數(shù)據(jù)(有效 數(shù)據(jù))。換而言之,執(zhí)行從頁面數(shù)據(jù)讀取有效數(shù)據(jù)、然后向其它頁面中寫入有效數(shù)據(jù)的過程。
[0008] 在一些情況下,有效數(shù)據(jù)在閃存設(shè)備的更高層設(shè)備中變成非必需。然而閃存設(shè)備 本身不能掌握這樣的情況并且繼續(xù)管理非必需數(shù)據(jù)作為有效數(shù)據(jù)。換而言之,雖然有效數(shù) 據(jù)不再必需,但是數(shù)據(jù)被作為將刷新和回收的數(shù)據(jù)而被管理。這使非必需數(shù)據(jù)被寫入頁面 中從而減少閃存設(shè)備的操作壽命。
[0009] 以上描述的問題適用于具有除了閃存設(shè)備之外的非易失性半導(dǎo)體存儲設(shè)備的存 儲系統(tǒng)。
[0010] 對問題的解決方案
[0011] 一種耦合到主機(jī)的存儲系統(tǒng)具有非易失性半導(dǎo)體存儲設(shè)備和耦合到該半導(dǎo)體存 儲設(shè)備的存儲控制器,該非易失性半導(dǎo)體存儲設(shè)備包括由多個頁面配置的非易失性半導(dǎo)體 存儲器。在多個頁面中存儲的數(shù)據(jù)是非必需的情況下,這多個頁面是基于非易失性半導(dǎo)體 存儲設(shè)備的邏輯卷的區(qū)域的基礎(chǔ),存儲控制器向非易失性半導(dǎo)體存儲設(shè)備發(fā)送對于減少頁 面數(shù)目的非必需減少請求,這些頁面是其中存儲非必需數(shù)據(jù)的區(qū)域的基礎(chǔ)。響應(yīng)于該非必 需減少請求,非易失性半導(dǎo)體存儲設(shè)備使多個頁面無效,這多個頁面是其中存儲非必需數(shù) 據(jù)的區(qū)域的基礎(chǔ)。

【專利附圖】

【附圖說明】
[0012] [圖1]圖1示出根據(jù)一個實(shí)施例的計(jì)算機(jī)系統(tǒng)的配置示例。
[0013] [圖2]圖2示出根據(jù)實(shí)施例的RAID控制器的配置示例。
[0014] [圖3]圖3示出根據(jù)實(shí)施例的閃存設(shè)備的配置示例。
[0015] [圖4]圖4示出根據(jù)實(shí)施例的閃存封裝的配置示例。
[0016] [圖5]圖5不出根據(jù)實(shí)施例的閃存芯片的配置不例。
[0017] [圖6]圖6是用于圖示如何更新根據(jù)實(shí)施例的閃存芯片的數(shù)據(jù)的圖。
[0018] [圖7]圖7是用于圖示根據(jù)實(shí)施例的頁面的狀態(tài)轉(zhuǎn)變的圖。
[0019][圖8]圖8是用于圖示如何擦除根據(jù)實(shí)施例的閃存芯片的數(shù)據(jù)的圖。
[0020] [圖9]圖9是用于圖示根據(jù)實(shí)施例的回收的圖。
[0021] [圖10]圖10是用于圖示根據(jù)實(shí)施例的塊的狀態(tài)轉(zhuǎn)變的圖。
[0022] [圖11]圖11是用于圖示根據(jù)實(shí)施例的動態(tài)區(qū)域分配過程的圖。
[0023] [圖12]圖12是用于圖示根據(jù)實(shí)施例的動態(tài)盤區(qū)區(qū)域分配過程的圖。
[0024] [圖13]圖13是用于圖示根據(jù)實(shí)施例的層間動態(tài)遷移的圖。
[0025] [圖14]圖14是用于圖示根據(jù)實(shí)施例的在層間動態(tài)遷移之后執(zhí)行的固定模式數(shù)據(jù) 寫入過程的圖。
[0026] [圖15]圖15是用于圖示根據(jù)實(shí)施例的固定模式數(shù)據(jù)寫入過程的第一示例的圖。
[0027] [圖16]圖16是用于圖示根據(jù)實(shí)施例的固定模式數(shù)據(jù)寫入過程的第二示例的圖。
[0028] [圖17]圖17是用于圖示根據(jù)實(shí)施例的固定模式數(shù)據(jù)寫入過程的第三示例的圖。
[0029] [圖18]圖18是用于圖示根據(jù)實(shí)施例的固定模式數(shù)據(jù)寫入過程的第四示例的圖。
[0030] [圖19]圖19是用于圖示根據(jù)實(shí)施例的取消映射請求的圖。
[0031] [圖20]圖20是用于圖示根據(jù)實(shí)施例的快照創(chuàng)建過程的圖。
[0032] [圖21]圖21是用于圖示根據(jù)實(shí)施例的快照創(chuàng)建過程的另一示例的圖。
[0033] [圖22]圖22是用于圖示根據(jù)實(shí)施例的在快照是刪除時生成的非必需數(shù)據(jù)的圖。
[0034] [圖23]圖23是用于圖示根據(jù)實(shí)施例的在快照刪除之后執(zhí)行的固定模式數(shù)據(jù)寫入 過程的圖。
[0035] [圖24]圖24示出根據(jù)實(shí)施例的邏輯物理轉(zhuǎn)換表的示例。
[0036] [圖25]圖25示出根據(jù)實(shí)施例的物理-邏輯轉(zhuǎn)換表的示例。
[0037] [圖26]圖26示出根據(jù)實(shí)施例的池管理表的示例。
[0038] [圖27]圖27示出根據(jù)實(shí)施例的動態(tài)區(qū)域分配表的示例。
[0039] [圖28]圖28示出根據(jù)實(shí)施例的動態(tài)盤區(qū)區(qū)域分配表的示例。
[0040] [圖29]圖29示出根據(jù)實(shí)施例的訪問頻率表的示例。
[0041] [圖30]圖30不出根據(jù)實(shí)施例的對管理表的不例。
[0042] [圖31]圖31示出根據(jù)實(shí)施例的快照數(shù)據(jù)分配表的示例。
[0043] [圖32]圖32示出根據(jù)實(shí)施例的寫入過程的流程圖的示例。
[0044] [圖33]圖33示出根據(jù)實(shí)施例的塊擦除過程的流程圖的示例。
[0045] [圖34]圖34示出根據(jù)實(shí)施例的回收的流程圖的示例。
[0046] [圖35]圖35示出根據(jù)實(shí)施例的動態(tài)區(qū)域分配過程的流程圖的示例。
[0047] [圖36]圖36示出根據(jù)實(shí)施例的動態(tài)盤區(qū)區(qū)域分配過程的流程圖的示例。
[0048] [圖37]圖37示出根據(jù)實(shí)施例的層間動態(tài)遷移的流程圖的示例。
[0049] [圖38]圖38示出根據(jù)實(shí)施例的快照創(chuàng)建過程的流程圖的示例。
[0050] [圖39]圖39示出根據(jù)實(shí)施例的快照刪除過程的流程圖的示例。
[0051] [圖40]圖40示出根據(jù)實(shí)施例的固定模式數(shù)據(jù)寫入過程的第一示例的流程圖的示 例。
[0052] [圖41]圖41示出根據(jù)實(shí)施例的固定模式數(shù)據(jù)寫入過程的第二示例的流程圖的示 例。
[0053] [圖42]圖42示出根據(jù)實(shí)施例的固定模式數(shù)據(jù)寫入過程的第三示例的流程圖的示 例。
[0054] [圖43]圖43示出根據(jù)實(shí)施例的固定模式數(shù)據(jù)寫入過程的第四示例的流程圖的示 例。
[0055] [圖44]圖44示出根據(jù)實(shí)施例的取消映射過程的流程圖的示例。
[0056] [圖45]圖45示出實(shí)施例的概況。

【具體實(shí)施方式】
[0057] 現(xiàn)在參照附圖描述本發(fā)明的一個實(shí)施例。
[0058] 在以下描述中使用標(biāo)識信息項(xiàng),這些標(biāo)識信息項(xiàng)包括用于指定單元(例如頁面、 塊、閃存芯片(FM芯片)、交換機(jī)(SW)、池、物理卷、邏輯卷、虛擬卷等)的編號,但是可以使 用無這樣的編號的信息項(xiàng)作為標(biāo)識信息項(xiàng)。
[0059] 在以下描述中區(qū)分相同類型的單元時,經(jīng)常使用單元名稱和標(biāo)識信息項(xiàng)的組合來 取代單元名稱和標(biāo)號的組合。例如具有標(biāo)識信息(標(biāo)識編號)"0"的塊記為"塊#0"。
[0060] 另外,在一些描述中,接口設(shè)備經(jīng)??s寫為" I/F"。
[0061] 在以下描述中,非易失性半導(dǎo)體存儲器稱為"閃存"(FM)。閃存是其中按塊刪除并 按頁面訪問數(shù)據(jù)的閃存--通常為NAND類型閃存。閃存也可以是替代NAND類型閃存的其 它類型的閃存(例如N0R型閃存)。此外,其它非易失性半導(dǎo)體存儲器、比如相變存儲器,可 以用來取代閃存。
[0062] 如以上描述的那樣,非易失性半導(dǎo)體存儲器在以下描述中是NAND類型閃存。因此 使用術(shù)語、比如"頁面"和"塊"。在某個邏輯區(qū)域(在這一段中為"目標(biāo)邏輯區(qū)域")是寫入 目的地、已經(jīng)向目標(biāo)邏輯區(qū)域分配頁面(在這一段中為"第一頁面")并且在第一頁面中存 儲數(shù)據(jù)的情況下,空白頁面(在這一段中為"第二頁面")取代第一頁面被分配給目標(biāo)邏輯 區(qū)域并且數(shù)據(jù)被寫入第二頁面。向第二頁面寫入的數(shù)據(jù)是針對目標(biāo)邏輯區(qū)域的最新數(shù)據(jù), 并且在第一頁面中存儲的數(shù)據(jù)變成針對目標(biāo)邏輯區(qū)域的舊數(shù)據(jù)。在以下描述中,每個邏輯 區(qū)域的最新數(shù)據(jù)和舊數(shù)據(jù)分別常稱為"有效數(shù)據(jù)"和"無效數(shù)據(jù)"。此外,有效數(shù)據(jù)的頁面和 其中存儲無效數(shù)據(jù)的頁面分別常稱為"有效頁面"和"無效頁面"。
[0063] 術(shù)語"主機(jī)"意味著存儲系統(tǒng)的更高層設(shè)備(例如計(jì)算機(jī))。
[0064] 術(shù)語"虛擬卷(虛擬V0L) "意味著虛擬邏輯卷(邏輯V0L)。虛擬V0L可以例如被 主機(jī)識別。虛擬V0L可以例如是下文描述的基于精簡調(diào)配(Thin Provisioning)的卷或者 快照V0L。
[0065] 術(shù)語"邏輯卷(邏輯V0L) "意味著包括向虛擬V0L分配的存儲區(qū)域的卷,并且可以 基于具有邏輯V0L的存儲系統(tǒng)的RAID組(多個閃存設(shè)備)或者可以基于耦合到前述存儲 系統(tǒng)的外部存儲系統(tǒng)的存儲設(shè)備。
[0066] 術(shù)語"池"意味著如下區(qū)域,其具有一個邏輯V0L或者具有多個邏輯V0L的匯集。
[0067] 術(shù)語"主卷(主V0L)"意味著基于來自主機(jī)的I/O請求而指派的原有邏輯V0L。
[0068] 術(shù)語"快照卷(快照V0L) "意味著一個虛擬V0L,該虛擬V0L表達(dá)主V0L的快照的 映像。
[0069] 術(shù)語"物理卷(物理V0L) "意味著物理存儲設(shè)備、比如SSD (固態(tài)設(shè)備)。
[0070] 術(shù)語"邏輯地址"意味著邏輯(或者虛擬)區(qū)域(例如虛擬V0L、邏輯V0L或者物 理V0L提供的邏輯區(qū)域)的地址。
[0071] 術(shù)語"物理地址"意味著物理區(qū)域(例如物理V0L提供的向邏輯區(qū)域分配的物理 區(qū)域)的地址。
[0072] 術(shù)語"盤區(qū)(extent) "意味著向虛擬V0L分配的邏輯區(qū)域。配置池的邏輯V0L被 劃分成兩個或者更多盤區(qū)。從池向虛擬V0L分配盤區(qū)。多個盤區(qū)可以是相同大小或者不同 大小。每個盤區(qū)的大小通常大于根據(jù)來自主機(jī)的讀取請求或者寫入請求的數(shù)據(jù)的大小(單 位大?。?。
[0073] 圖45示出本實(shí)施例的概況。
[0074] 存儲系統(tǒng)具有SSD、基于SSD的邏輯V0L和耦合到SSD的存儲控制器。在邏輯V0L 中存儲的數(shù)據(jù)被存儲于SSD中。輸入/輸出大小--該輸入/輸出大小是向邏輯V0L輸入和 從邏輯V0L輸出的數(shù)據(jù)的單位大小--大于頁面中的每個頁面的大小,這些頁面配置SSD 的閃存。例如輸入/輸出大小是頁面大小的整數(shù)倍(N倍(其中N是2或者更大整數(shù)))。 具體而言,輸入/輸出大小是頁面大小的三倍。
[0075] 在邏輯V0L的邏輯區(qū)域以內(nèi)的數(shù)據(jù)在某個事件出現(xiàn)時變成對存儲系統(tǒng)的主機(jī)為 非必需。某個事件的示例包括其中從邏輯區(qū)域向其它邏輯區(qū)域移動數(shù)據(jù)的事件和其中刪除 虛擬V0L的事件,其中存儲數(shù)據(jù)的盤區(qū)被分配到該虛擬V0L。
[0076] 在這一某個事件時,存儲控制器向SSD發(fā)送非必需減少請求,該SSD是存儲對主機(jī) 為非必需的數(shù)據(jù)的邏輯區(qū)域的基礎(chǔ)。非必需減少請求是用于減少頁面數(shù)目的請求,這些頁 面是存儲對主機(jī)為非必需的數(shù)據(jù)的邏輯區(qū)域的基礎(chǔ)。在SSD接收非必需減少請求時,SSD將 多個頁面中的至少一個頁面的狀態(tài)從"有效"轉(zhuǎn)變成"無效",這多個頁面是存儲對主機(jī)為非 必需的數(shù)據(jù)的邏輯區(qū)域的基礎(chǔ)。
[0077] 現(xiàn)在下文具體描述本實(shí)施例。
[0078] 圖1示出根據(jù)本實(shí)施例的計(jì)算機(jī)系統(tǒng)的配置示例。
[0079] 計(jì)算機(jī)系統(tǒng)具有存儲系統(tǒng)1和主機(jī)200。可以存在一個或者多個存儲系統(tǒng)1和主 機(jī)200。存儲系統(tǒng)1和主機(jī)200通過通信網(wǎng)絡(luò)(例如SAN(存儲區(qū)域網(wǎng)絡(luò)))相互耦合。存 儲系統(tǒng)1用于存儲主機(jī)200使用的數(shù)據(jù)。主機(jī)200執(zhí)行各種過程以從存儲系統(tǒng)1讀取數(shù)據(jù) 或者向存儲系統(tǒng)1中寫入數(shù)據(jù)。
[0080] 存儲系統(tǒng)1具有多個物理V0L和耦合到多個物理V0L的存儲控制器300。
[0081] 多個物理V0L包括多個類型的物理V0L??梢杂兄辽僖粋€物理V0L類型的一個或者 多個物理¥01^。物理¥01^的示例包括550400、冊0(硬盤驅(qū)動)設(shè)備(545:串行附接5051)500 和 HDD (SATA :串行 ΑΤΑ) 600。
[0082] 存儲控制器300具有多個RAID(獨(dú)立(或者廉價)盤冗余陣列)控制器301。 RAID控制器301中的每個RAID控制器經(jīng)由內(nèi)部總線耦合到SSD400、HDD (SAS) 500和 HDD (SATA)600。
[0083] 注意每個 RAID 控制器 301 僅為 SSD400、HDD (SAS) 500 和 HDD (SATA) 600 的更高層 設(shè)備的示例。RAID控制器301從RAID控制器301的更高層設(shè)備(例如主機(jī)200)接收1/ 0命令并且響應(yīng)于I/O命令控制對SSD400、HDD (SAS) 500和HDD (SATA) 600的訪問。RAID控 制器301可以執(zhí)行用于管理SSD400、HDD (SAS) 500和HDD (SATA) 600的盤區(qū)作為互不相同的 存儲層(層)并且向數(shù)據(jù)被寫入到的邏輯區(qū)域分配存儲層中的任何存儲層的盤區(qū)的過程。 換而言之,每層由基于相同類型的物理V0L的兩個或者更多盤區(qū)來配置。雖然未示出,但是 存儲系統(tǒng)1可以具有由多個SSD400配置的RAID組、由多個HDD (SAS) 500配置的RAID組和 由多個HDD (SATA) 600配置的RAID組。
[0084] 圖2示出根據(jù)實(shí)施例的RAID控制器的配置。
[0085] RAID控制器301具有開放端口封裝310、大型機(jī)封裝320、驅(qū)動端口封裝330、高 速緩存存儲器340、共享存儲器350、一個或者多個微處理器封裝(MPPK) 360和交換機(jī)封裝 370。開放端口封裝310、大型機(jī)封裝320、驅(qū)動端口封裝330、高速緩存存儲器340、共享存 儲器350和一個或者多個微處理器封裝(MPPK) 360經(jīng)由交換機(jī)封裝370相互耦合。
[0086] 開放端口封裝310具有開放封裝微處理器(開放端口 MP) 311,該開放端口 MP是 實(shí)現(xiàn)與開放系統(tǒng)的主機(jī)200通信的端口。大型機(jī)封裝320具有大型機(jī)微處理器(MF端口 MP) 321,該MF端口 MP是實(shí)現(xiàn)與大型機(jī)主機(jī)200通信的端口。驅(qū)動端口封裝330具有驅(qū)動 封裝端口微處理器(驅(qū)動端口 MP) 331,該驅(qū)動端口 MP是支持與物理V0L400、500、600交換 數(shù)據(jù)的端口。
[0087] 高速緩存存儲器340暫時存儲將被讀取或者寫入的數(shù)據(jù)。共享存儲器350存儲 每個MPPK360的MP362使用的各種信息項(xiàng)。在本實(shí)施例中,共享存儲器350存儲池管理表 (見圖26)、動態(tài)區(qū)域分配表(見圖27)、動態(tài)盤區(qū)區(qū)域分配表(見圖28)、訪問頻率表(見 圖29)、對管理表(見圖30)、快照數(shù)據(jù)分配表(見圖31)等。下文描述這些表。
[0088] 每個MPPK360具有本地存儲器和程序存儲器(LM/PM) 361和一個或者多個微處理 器(MP)362。LM/PM361用于存儲MP362使用的數(shù)據(jù)和程序。MP362執(zhí)行在LM/PM361中存儲 的程序以通過使用在LM/PM361中存儲的數(shù)據(jù)和在共享存儲器350中存儲的數(shù)據(jù)來執(zhí)行各 種過程。
[0089] 圖3示出根據(jù)本實(shí)施例的SSD的配置示例。
[0090] SSD400具有一個或者多個更高層I/F交換機(jī)(更高層I/F交換機(jī))401和一個或 者多個閃存封裝(PGK) 10。更高層I/F交換機(jī)401在RAID控制器301與多個閃存PKG 10 之間中繼數(shù)據(jù)。
[0091] 圖4示出根據(jù)本實(shí)施例的閃存封裝的配置示例。
[0092] 每個閃存PGK10具有DRAM(動態(tài)隨機(jī)存取存儲器)11,其是主存儲裝置存儲器的示 例。閃存PKG10也具有FM控制器20和多個(或者一個)DI麗(雙列直插存儲器模塊)30。 DRAM11存儲FM控制器20使用的數(shù)據(jù)等。DRAM11可以被裝配于FM控制器20中或者與FM 控制器20不同的構(gòu)件中。在本實(shí)施例中,DRAM11存儲邏輯-物理轉(zhuǎn)換表110(見圖24)、物 理-邏輯轉(zhuǎn)換表111 (見圖25)等。下文描述這些表。
[0093] FM控制器20例如單個ASIC (專用集成電路)配置并且具有CPU21、內(nèi)部總線22、 更高層I/F (接口 23)和多個(或者一個)FM I/F控制單元24。內(nèi)部總線22將CPU21、更 高層I/F23、DRAM11和FMI/F控制單元24以實(shí)現(xiàn)在它們之間通信這樣的方式相互耦合。
[0094] 更高層I/F23耦合到更高層I/F交換機(jī)401以調(diào)解與其更高層設(shè)備的通信。更高 層I/F23例如是SAS的I/F。每個FM I/F控制單元24調(diào)解在FM控制器20與多個FM芯片 32之間的數(shù)據(jù)交換。在本實(shí)施例中,F(xiàn)M I/F控制單元24具有用于執(zhí)行與FM芯片32交換 數(shù)據(jù)的多個總線(數(shù)據(jù)總線等)集合,并且通過使用多個總線來調(diào)解與多個FM芯片32的 數(shù)據(jù)交換。在本實(shí)施例中,F(xiàn)M I/F控制單元24被提供給它的對應(yīng)DIMM30。FMI/F控制單 元24調(diào)解與耦合到這一 FM I/F控制單元24的DIMM30的多個FM芯片32的通信。FM 1/ F控制單元24可以負(fù)責(zé)DMM30中的兩個或者更多DMM。CPU21可以執(zhí)行在DRAM11 (或者 未示出的其它存儲區(qū)域)中存儲的程序以執(zhí)行各種過程??梢杂卸嘤谝粋€CPU21,并且多個 CPU21可以共享各種過程。下文具體描述CPU21執(zhí)行的過程。
[0095] 每個DIMM30具有一個或者多個SW31和多個FM芯片32。FM芯片32各自例如是 MLC(多級單元)類型NAND閃存芯片。MLC類型FM芯片具有比SLC類型FM芯片更少的重 寫次數(shù)、但是特征在于具有每單元的高存儲器容量。
[0096] SW31經(jīng)由包括數(shù)據(jù)總線的總線25耦合到FM I/F控制單元24。在本實(shí)施例中,以 如下方式提供SW31中的每個SW,以便與耦合到FM I/F控制單元24的包括數(shù)據(jù)總線的總 線集合25相對應(yīng)。SW31也通過包括數(shù)據(jù)總線的總線28耦合到多個FM芯片32。SW31可 以通過在總線25與總線28中的任何總線之間有選擇地切換來耦合到FM I/F控制單元24 和FM芯片32。由于DMM30被設(shè)置有接線連接的SW 31和多個FM芯片32,所以不需要預(yù) 備連接器來耦合它們,并且可以預(yù)期減少所需的連接器數(shù)目。
[0097] 如圖4中所示,F(xiàn)M芯片32耦合到每個SW31而無在它們之間的另一 FM芯片32 ;然 而FM芯片32可以通過另一 FM芯片32耦合到SW31。換而言之,串行布置的FM芯片32中 的兩個或者更多FM芯片可以耦合到SW31。
[0098] 圖5示出根據(jù)實(shí)施例的閃存芯片的配置示例。
[0099] 閃存芯片(FM)芯片32中的每個芯片具有多個塊32b。塊32b中的每個塊具有多 個頁面32p。每個頁面32p代表用來從/向FM芯片32讀取/寫入數(shù)據(jù)的單位。在本實(shí)施 例中,頁面32p的大小是8KB。然而注意頁面32p的大小不限于此。
[0100] 圖6是用于圖示如何更新根據(jù)實(shí)施例的閃存芯片的數(shù)據(jù)的圖。
[0101] 在向邏輯V0L2012中寫入數(shù)據(jù)時,在FM芯片32中,在FM芯片32的塊32b的頁面 32p中存儲數(shù)據(jù),頁面32p與邏輯V0L2012的其中存儲數(shù)據(jù)的區(qū)域關(guān)聯(lián),如在狀態(tài)1中所示。 在這一情況下,將頁面32p作為有效頁面來設(shè)置和管理,這意味著效數(shù)據(jù)被存儲于其中。
[0102] 在向邏輯V0L2012的相同區(qū)域?qū)懭胄聰?shù)據(jù)(更新的數(shù)據(jù))時,在其它頁面32p中 存儲更新的數(shù)據(jù),如在狀態(tài)2中所示,并且將其中存儲在更新之前的數(shù)據(jù)(舊數(shù)據(jù))的頁面 32p作為無效頁面來設(shè)置和管理,這意味著無效數(shù)據(jù)被存儲于其中。一旦以這一方式更新各 種數(shù)據(jù),無效頁面32p以在塊32b中被分散作為結(jié)束。
[0103] 圖7是用于圖示根據(jù)實(shí)施例的頁面的狀態(tài)轉(zhuǎn)變的圖。
[0104] 在向頁面32p中的在其中可以存儲數(shù)據(jù)的空白狀態(tài)701中的頁面中寫入新數(shù)據(jù) (在圖7中為(1))時,向頁面32p中寫入數(shù)據(jù)使頁面32p進(jìn)入有效狀態(tài)702。后續(xù)在更新 在這一頁面32p中存儲的數(shù)據(jù)(在圖7中為(2))時,頁面32p進(jìn)入無效狀態(tài)703。在擦除 在無效狀態(tài)703中的頁面32p (擦除在頁面32p內(nèi)的數(shù)據(jù))(在圖7中為(3))時,頁面32p 返回到空白狀態(tài)701。
[0105] 圖8是用于圖示如何擦除根據(jù)實(shí)施例的閃存芯片的數(shù)據(jù)的圖。
[0106] 在FM芯片32中,可以按塊擦除在每個塊32b中存儲的數(shù)據(jù)。因此在本實(shí)施例中, 在屬于塊32b的所有頁面32p變成無效之后擦除數(shù)據(jù)。注意擦除每個塊的數(shù)據(jù)也稱為"擦 除塊"。
[0107] 圖9是用于圖示根據(jù)實(shí)施例的回收的圖。
[0108] 回收是用于生成可被擦除的塊的過程。在這一回收過程中,如圖9中所示,具有預(yù) 定數(shù)目或者更多的無效頁面的塊32b (塊#八、塊#B)的有效頁面32p的數(shù)據(jù)被復(fù)制到具有空 白頁面的其它塊32b (在本例中為塊#C),并且復(fù)制源無效頁面被設(shè)置為無效頁面。于是,復(fù) 制源塊32b (塊#八、塊#B)的所有頁面32p變成無效頁面,并且復(fù)制源塊32b變成可被擦除 的塊。這使得有可能在后續(xù)過程中擦除塊32b。
[0109] 圖10是用于圖示根據(jù)實(shí)施例的塊的狀態(tài)轉(zhuǎn)變的圖。
[0110] 關(guān)于在其中所有頁面32p為空白的狀態(tài)1001中的塊32b,在這一個塊32b的頁面 32p被新分配到邏輯區(qū)域并且數(shù)據(jù)被寫入至此(在圖10中為(1))時,該塊32b進(jìn)入其中混 合空白頁面和有效頁面的狀態(tài)1002。在這一狀態(tài)1002下的塊32b中,當(dāng)新分配所有空白頁 面并且向這些空白頁面寫入數(shù)據(jù)、因此不存在更多空白頁面(在圖10中為(2))時,塊32b 進(jìn)入其中所有頁面是有效頁面的狀態(tài)1003。
[0111] 在更新在其中混合空白和有效頁面的狀態(tài)1002中的塊32b的有效頁面(在圖10 中為(3))時,有效頁面變成無效頁面,因而塊32b進(jìn)入其中混合空白、有效和無效頁面的狀 態(tài) 1004。
[0112] 另外,在更新在其中所有頁面是有效頁面的狀態(tài)1003中的塊32b的有效頁面(在 圖10中為(4))時,有效頁面變成無效頁面,因而塊32b進(jìn)入其中混合有效頁面和無效頁面 的狀態(tài)1005。
[0113] 在其中混合空白、有效和無效頁面的狀態(tài)1004中的塊32b中,當(dāng)新分配所有空白 頁面并且向這些空白頁面寫入數(shù)據(jù)、因此沒有更多空白頁面(在圖10中為(5))時,塊32b 進(jìn)入其中混合有效頁面和無效頁面的狀態(tài)1005。
[0114] 在其中混合有效頁面和無效頁面的狀態(tài)1005中的塊32b中,當(dāng)更新有效頁面或 者由于回收而移動有效頁面的數(shù)據(jù)、因此沒有更多有效頁面(在圖10中為¢))時,塊32b 進(jìn)入其中所有頁面是無效頁面的狀態(tài)1006。在擦除在狀態(tài)1006中的塊32b(在圖10中為 (7))時,塊32b返回到其中所有頁面為空白的狀態(tài)1001。
[0115] 圖11是用于圖示根據(jù)實(shí)施例的動態(tài)區(qū)域分配過程的圖。
[0116] 主機(jī)200發(fā)送寫入請求,該寫入請求指派虛擬V0L2022的區(qū)域(寫入?yún)^(qū)域)。主機(jī) 200使寫入請求符合的數(shù)據(jù)(下文為"寫入數(shù)據(jù)")的大小例如是SSD400的頁面卷的整數(shù)倍 (例如N倍(其中N是整數(shù)2或者更大))。例如在本實(shí)施例中,每個頁面的大小是8KB,并且 寫入數(shù)據(jù)的大小是24KB,這是前述頁面大小的三倍。在存儲系統(tǒng)1中,一旦接收寫入請求, 在池2001的邏輯V0L2012的區(qū)域未被分配到虛擬V0L2022的寫入?yún)^(qū)域的情況下,池2001的 邏輯V0L2012的與寫入?yún)^(qū)域的大小相同大小的區(qū)域被分配。作為結(jié)果,當(dāng)邏輯V0L2012的 分配的區(qū)域?qū)?yīng)于SSD400的區(qū)域時,寫入數(shù)據(jù)經(jīng)由高速緩存340被寫入到SSD400的區(qū)域 (頁面)。
[0117] 取代這一動態(tài)區(qū)域分配過程,可以執(zhí)行以下描述的動態(tài)盤區(qū)區(qū)域分配過程。
[0118] 圖12是用于圖示根據(jù)實(shí)施例的動態(tài)盤區(qū)區(qū)域分配過程的圖。
[0119] 在動態(tài)盤區(qū)區(qū)域分配過程中,在池2001的邏輯V0L2012的區(qū)域未被分配到虛擬 V0L2022的寫入?yún)^(qū)域的情況下,盤區(qū)2052被分配,該盤區(qū)是比寫入?yún)^(qū)域更大的區(qū)域。分配比 寫入?yún)^(qū)域更大的盤區(qū)2052可以減少與用于管理區(qū)域分配的管理信息有關(guān)的數(shù)據(jù)量。
[0120] 在圖12中所示動態(tài)盤區(qū)區(qū)域分配過程和圖11中所示動態(tài)區(qū)域分配過程中,在池 以內(nèi)的邏輯區(qū)域(盤區(qū))被分配到虛擬V0L的區(qū)域。因此,動態(tài)盤區(qū)區(qū)域分配過程和動態(tài) 區(qū)域分配過程的以下描述對"盤區(qū)"分配進(jìn)行描述。
[0121] 接著描述層間動態(tài)遷移作為其中在根據(jù)本實(shí)施例的存儲系統(tǒng)的SSD400中生成非 必需數(shù)據(jù)的示例。
[0122] 圖13是用于圖示根據(jù)實(shí)施例的層間動態(tài)遷移的圖。
[0123] 層間動態(tài)遷移意味著基于對虛擬V0L的虛擬區(qū)域或者向虛擬區(qū)域分配的盤區(qū)的 訪問頻率將其中存儲數(shù)據(jù)的盤區(qū)改變成其它層盤區(qū)。換而言之,層間動態(tài)遷移是從盤區(qū)向 其它層的盤區(qū)移動數(shù)據(jù)。
[0124] 在移動在SSD400的盤區(qū)上存儲的數(shù)據(jù)到其它層的盤區(qū)(在本例中為HDD(SAS)500 的盤區(qū))時,存儲系統(tǒng)1從池2001向前述區(qū)域分配目的地層的盤區(qū)、從SSD400向高速 緩存340中讀取對應(yīng)數(shù)據(jù)并且將這一數(shù)據(jù)移向目的地層的分配的盤區(qū)(在本例中為 HDD (SAS) 500的盤區(qū))。存儲系統(tǒng)1然后改變動態(tài)區(qū)域分配表等的映射,以便使虛擬V0L2022 的具有數(shù)據(jù)的區(qū)域?qū)?yīng)于層的被移動數(shù)據(jù)到的盤區(qū)。
[0125] 在執(zhí)行這一層間動態(tài)遷移之后,在SDD400的存儲區(qū)域中存儲的數(shù)據(jù)不再被主機(jī) 200查詢、因此變成非必需。然而在SSD400中,其中存儲這些數(shù)據(jù)的多個頁面保持被管理作 為效數(shù)據(jù)的有效頁面。
[0126] 例如在本實(shí)施例中,執(zhí)行下文描述的固定模式數(shù)據(jù)寫入過程作為一種用于減少存 儲非必需數(shù)據(jù)的區(qū)域的方法。
[0127] 圖14是用于圖示根據(jù)實(shí)施例的在層間動態(tài)遷移之后執(zhí)行的固定模式數(shù)據(jù)寫入過 程的圖。
[0128] 這里"固定模式數(shù)據(jù)"意味著與寫入數(shù)據(jù)相同大小的數(shù)據(jù),并且作為將寫入數(shù)據(jù)分 離成頁面32p的結(jié)果而獲得的多個部分?jǐn)?shù)據(jù)是相同數(shù)據(jù)模式的數(shù)據(jù)。固定模式數(shù)據(jù)可以例 如是其位都是" 0 "或者" 1"的數(shù)據(jù)。
[0129] 在層間動態(tài)遷移之后(在將數(shù)據(jù)移向其它層的盤區(qū)之后)并且例如在將被映射到 其中存儲移動的數(shù)據(jù)的虛擬區(qū)域(在虛擬V0L中的區(qū)域)的盤區(qū)(源盤區(qū))被改變地其它 盤區(qū)(目的地盤區(qū))之前,執(zhí)行固定模式數(shù)據(jù)寫入過程。在固定模式數(shù)據(jù)寫入過程中,存儲 系統(tǒng)1向與其中存儲非必需數(shù)據(jù)的盤區(qū)(源盤區(qū))對應(yīng)的多個頁面(SSD400的其中存儲在 遷移之前的數(shù)據(jù)的多個頁面)寫入固定模式數(shù)據(jù)(例如其位都是"〇"的數(shù)據(jù))。
[0130] 圖15至18示出固定模式數(shù)據(jù)寫入過程的第一至第四示例。
[0131] 圖15是用于圖示根據(jù)實(shí)施例的固定模式數(shù)據(jù)寫入過程的第一示例的圖。
[0132] 在根據(jù)第一示例的固定模式數(shù)據(jù)寫入過程中,RAID控制器301向SSD400(SSD400 的閃存封裝10)發(fā)送用于將寫入數(shù)據(jù)的單位大小(例如24KB)的固定模式數(shù)據(jù)1051寫入到 其中存儲非必需數(shù)據(jù)的盤區(qū)(配置池的邏輯V0L2012的區(qū)域)中的寫入請求。作為結(jié)果, 經(jīng)由高速緩存340向SSD400發(fā)送固定模式數(shù)據(jù)1051。SSD400設(shè)置其中存儲非必需數(shù)據(jù)的 多個(在本例中為三個)頁面作為無效頁面。SSD400然后向單個頁面32p中存儲固定模式 數(shù)據(jù)1051的其大小與一個頁面的大小等效的部分?jǐn)?shù)據(jù),并且更新邏輯-物理轉(zhuǎn)換表110的 和物理-邏輯轉(zhuǎn)換表111的信息,以便使得根據(jù)邏輯卷的區(qū)域(與寫入數(shù)據(jù)大小等效的區(qū) 域)的頁面大小劃分(壓縮)的區(qū)域中的每個區(qū)域?qū)?yīng)于這一頁面32p。以這一方式,可以 減少其中存儲非必需數(shù)據(jù)的有效頁面數(shù)目。例如在一個寫入數(shù)據(jù)點(diǎn)的情況下,可以將有效 頁面數(shù)目從三減少至一。
[0133] 圖16是用于圖示根據(jù)實(shí)施例的固定模式數(shù)據(jù)寫入過程的第二示例的圖。
[0134] 在根據(jù)第二示例的固定模式數(shù)據(jù)寫入過程中,RAID控制器301向SSD400發(fā)送用 于將寫入數(shù)據(jù)的單位大?。ɡ?4KB)的固定模式數(shù)據(jù)1051寫入到其中存儲非必需數(shù)據(jù) 的邏輯V0L2012的區(qū)域中的寫入請求。作為結(jié)果,經(jīng)由高速緩存340向SSD400發(fā)送固定模 式數(shù)據(jù)1051。SSD400設(shè)置其中存儲非必需數(shù)據(jù)的多個(在本例中為三個)頁面作為無效 頁面。SSD400然后更新邏輯-物理轉(zhuǎn)換表110的和物理-邏輯轉(zhuǎn)換表111的信息,以便使 得根據(jù)邏輯卷的區(qū)域(與寫入數(shù)據(jù)大小等效的區(qū)域)的頁面大小劃分(壓縮)的區(qū)域中的 每個區(qū)域?qū)?yīng)于另一頁面32p,并且以便使得用于指定固定模式數(shù)據(jù)的數(shù)據(jù)模式(例如,如 果數(shù)據(jù)模式是其位都是"〇"的固定模式數(shù)據(jù),則是"〇")對應(yīng)于區(qū)域中的每個區(qū)域。以這一 方式,可以減少其中存儲非必需數(shù)據(jù)的有效頁面數(shù)目。例如在一個寫入數(shù)據(jù)點(diǎn)的情況下,可 以將有效頁面數(shù)目從三減少至一。此外,不必存儲頁面中的數(shù)據(jù)。
[0135] 圖17是用于圖示根據(jù)實(shí)施例的固定模式數(shù)據(jù)寫入過程的第三示例的圖。
[0136] 在根據(jù)第三示例的固定模式數(shù)據(jù)寫入過程中,RAID控制器301向SSD400發(fā)送包 括頁面大小的部分?jǐn)?shù)據(jù)-該部分?jǐn)?shù)據(jù)是通過劃分(壓縮)固定模式數(shù)據(jù)1051而獲得 的-和大小信息--該大小信息指示固定模式數(shù)據(jù)1051的大小--的寫入請求(具 有固定模式數(shù)據(jù)指令的寫入請求)作為用于將寫入數(shù)據(jù)的單位大?。ɡ?4KB)的固定模 式數(shù)據(jù)1051寫入到其中存儲非必需數(shù)據(jù)的邏輯V0L2012的區(qū)域中的寫入請求。作為結(jié)果, 經(jīng)由高速緩存340向SSD400發(fā)送部分?jǐn)?shù)據(jù)。SSD400基于大小信息指定其中存儲非必需數(shù) 據(jù)的多個(在本例中為三個)頁面、然后將這些頁面設(shè)置為無效頁面。SSD400然后在單個 頁面32p中存儲部分?jǐn)?shù)據(jù),并且更新邏輯-物理轉(zhuǎn)換表110的和物理-邏輯轉(zhuǎn)換表111的 信息以便使得根據(jù)邏輯卷的區(qū)域(與寫入數(shù)據(jù)大小等效的區(qū)域)的頁面大小劃分的區(qū)域中 的每個區(qū)域?qū)?yīng)于這一頁面32p。以這一方式,可以減少其中存儲非必需數(shù)據(jù)的有效頁面數(shù) 目。例如在一個寫入數(shù)據(jù)點(diǎn)的情況下,可以將有效頁面數(shù)目從三減少至一。
[0137] 圖18是用于圖示根據(jù)實(shí)施例的固定模式數(shù)據(jù)寫入過程的第四示例的圖。
[0138] 在根據(jù)第四示例的固定模式數(shù)據(jù)寫入過程中,RAID控制器301向SSD400發(fā)送包 括頁面大小的部分?jǐn)?shù)據(jù)(該部分?jǐn)?shù)據(jù)是通過劃分(壓縮)固定模式數(shù)據(jù)1051而獲得的) 和大小信息(例如24KB)(該大小信息指示固定模式數(shù)據(jù)1051的大?。┑膶懭胝埱笞鳛橛?于將寫入數(shù)據(jù)的單位大?。ɡ?4KB)的固定模式數(shù)據(jù)1051寫入到其中存儲非必需數(shù)據(jù) 的邏輯V0L2012的區(qū)域中的寫入請求。作為結(jié)果,經(jīng)由高速緩存340向SSD400發(fā)送部分?jǐn)?shù) 據(jù)。SSD400基于大小信息指定其中存儲非必需數(shù)據(jù)的多個(在本例中為三個)頁面、然后 將頁面設(shè)置為無效頁面。SSD400然后更新邏輯-物理轉(zhuǎn)換表110的和物理-邏輯轉(zhuǎn)換表 Ill的信息,以便使得根據(jù)邏輯卷的區(qū)域(與寫入數(shù)據(jù)大小等效的區(qū)域)的頁面大小劃分的 區(qū)域中的每個區(qū)域?qū)?yīng)于另一頁面32p,并且以便使得用于指定固定模式數(shù)據(jù)的數(shù)據(jù)模式 (例如如果數(shù)據(jù)模式是其位都是"0"的固定模式數(shù)據(jù)則是"0")對應(yīng)于區(qū)域中的每個區(qū)域。 以這一方式,可以減少其中存儲非必需數(shù)據(jù)的有效頁面數(shù)目。例如在一個寫入數(shù)據(jù)點(diǎn)的情 況下,可以將有效頁面數(shù)目從三減少至一。此外,不必存儲頁面中的數(shù)據(jù)。
[0139] 另外,可以執(zhí)行根據(jù)下文描述的第五示例的使用取消映射請求的過程作為另一種 用于減少其中存儲非必需數(shù)據(jù)的區(qū)域(頁面)數(shù)目的方法。
[0140] 圖19是用于圖示根據(jù)實(shí)施例的取消映射請求的圖。
[0141] 取消映射請求1901具有邏輯地址1902和數(shù)據(jù)長度1903的字段。邏輯地址1902 用于存儲邏輯地址,該邏輯地址指示將被無效的頂部頁面。數(shù)據(jù)長度1903用于存儲從包括 將被無效的頁面的邏輯地址范圍的頂部邏輯地址起的數(shù)據(jù)長度。
[0142] 在使用取消映射請求1901時,RAID控制器301指定其中存儲非必需數(shù)據(jù)的邏輯 地址范圍、在邏輯地址1902中設(shè)置頂部邏輯地址、在數(shù)據(jù)長度1903中設(shè)置邏輯地址范圍的 數(shù)據(jù)長度、然后向SSD400發(fā)送取消映射請求1901。一旦SSD400的閃存封裝10獲取取消映 射請求1901,閃存封裝10基于取消映射請求1901的邏輯地址1902和數(shù)據(jù)長度1903的值 指定對應(yīng)邏輯地址的范圍,并且更新邏輯-物理轉(zhuǎn)換表110的和物理-邏輯轉(zhuǎn)換表111的 信息以便管理與邏輯地址的范圍關(guān)聯(lián)的多個頁面作為無效頁面。作為結(jié)果,其中存儲非必 需數(shù)據(jù)的所有頁面變得無效,并且后續(xù)可以使用頁面作為空白頁面。
[0143] 接著描述在本實(shí)施例的存儲系統(tǒng)中執(zhí)行的快照創(chuàng)建過程和快照刪除過程作為其 中在SSD400中生成非必需數(shù)據(jù)的其它示例。
[0144] 圖20是用于圖示根據(jù)實(shí)施例的快照創(chuàng)建過程的圖。
[0145] 在快照創(chuàng)建過程中,當(dāng)主機(jī)200發(fā)送用于向復(fù)制目標(biāo)主V0L1551的預(yù)定區(qū)域(寫 入?yún)^(qū)域)中寫入新數(shù)據(jù)(用于更新在對應(yīng)區(qū)域中存儲的數(shù)據(jù)(舊數(shù)據(jù))的數(shù)據(jù))的寫入請 求(在圖20中為(1))時,RAID控制器301從基于主V0L1551的寫入?yún)^(qū)域的物理區(qū)域(在 圖20中所示示例中為HDD (SAS) 500的物理區(qū)域)讀取舊數(shù)據(jù)(在圖20中為(2))、經(jīng)由高 速緩存340獲取舊數(shù)據(jù)(在圖20中為(3))并且向快照V0L1553的復(fù)制目的地區(qū)域(具 有與主V0L1551的寫入?yún)^(qū)域相同的地址的區(qū)域)中寫入舊數(shù)據(jù)(在圖20中為(4))。在這 一過程中,RAID控制器301將舊數(shù)據(jù)寫入到向快照V0L1553的復(fù)制目的地區(qū)域分配的盤區(qū) (池2001的邏輯V0L2012的邏輯區(qū)域)中(在圖20中為(5))。
[0146] 在向舊數(shù)據(jù)被寫入到的寫入目的地盤區(qū)(向復(fù)制目的地區(qū)域分配的盤區(qū))分配 SSD400的區(qū)域的情況下,RAID控制器301指派寫入目的地盤區(qū)并且發(fā)送用于向SSD400寫 入舊數(shù)據(jù)的寫入請求,該SSD是向?qū)懭肽康牡乇P區(qū)分配的區(qū)域的基礎(chǔ)。經(jīng)由高速緩存340 向SSD400發(fā)送舊數(shù)據(jù)(在圖20中為(6))。SSD400然后在FM芯片的與寫入目的地盤區(qū)對 應(yīng)的存儲區(qū)域(一個或者多個頁面)中存儲舊數(shù)據(jù)(在圖20中為(7))。在主V0L1551中 存儲新數(shù)據(jù)(在圖20中為(8))。
[0147] 圖21是用于圖示根據(jù)實(shí)施例的快照創(chuàng)建過程的另一示例的圖。
[0148] 在圖20中所示(5)中,RAID控制器301從池2001向快照V0L1553的復(fù)制目的地 區(qū)域分配新盤區(qū)并且向這一盤區(qū)寫入舊數(shù)據(jù)(在圖21中為(5))。
[0149] 圖22是用于圖示根據(jù)實(shí)施例的在快照是刪除時生成的非必需數(shù)據(jù)的圖。
[0150] 在執(zhí)行快照創(chuàng)建過程之后,有例如存儲系統(tǒng)1從主機(jī)200接收用于刪除快照 V0L1553的請求的情況。在這樣的情況下,存儲系統(tǒng)1的RAID控制器301刪除被請求刪除 的快照V0L1553。在刪除快照V0L1553時,刪除RAID控制器301管理的與快照V0L1553有 關(guān)的彳目息等。
[0151] 在這一情況下,SSD400的其中存儲舊數(shù)據(jù)的多個頁面保持被管理作為其中存儲有 效數(shù)據(jù)的有效頁面。
[0152] 現(xiàn)在,在本實(shí)施例中,執(zhí)行下文描述的固定模式數(shù)據(jù)寫入過程作為一種用于減少 其中存儲非必需數(shù)據(jù)的區(qū)域數(shù)目的方法。
[0153] 圖23是用于圖示根據(jù)實(shí)施例的在快照刪除之后執(zhí)行的固定模式數(shù)據(jù)寫入過程的 圖。
[0154] 在快照刪除之后執(zhí)行的圖23中所示固定模式數(shù)據(jù)寫入過程,除了以固定模式數(shù) 據(jù)被寫入到的寫入目的地盤區(qū)作為向快照V0L1553分配的盤區(qū)之外,與在層間動態(tài)遷移之 后執(zhí)行的圖14中所示固定模式數(shù)據(jù)寫入過程相似。
[0155] 在快照刪除之后執(zhí)行的固定模式數(shù)據(jù)寫入過程與圖15至18中所示固定模式數(shù)據(jù) 的前述第一至第四示例相似。
[0156] 此外,可以將根據(jù)圖19中所示第五示例的使用取消映射請求的過程作為另一用 于減少其中存儲非必需數(shù)據(jù)的區(qū)域數(shù)目的方法執(zhí)行。
[0157] 接著具體描述存儲系統(tǒng)1的各種表。
[0158] 圖24示出根據(jù)實(shí)施例的邏輯物理轉(zhuǎn)換表的示例。
[0159] 邏輯-物理轉(zhuǎn)換表110是在閃存封裝10的DRAM11中存儲的表并且管理如下記錄, 這些記錄具有邏輯地址ll〇a、有效性110b、FM編號110c、塊編號110d、頁面編號110e和數(shù) 據(jù)模式ll〇f的字段。
[0160] 在邏輯地址110a中存儲邏輯地址。在本實(shí)施例中,這些邏輯地址是池2001的邏輯 V0L2012的邏輯地址。然而取代這些邏輯地址,可以在邏輯地址110a中存儲SSD400的與邏 輯V0L2012的邏輯地址對應(yīng)的邏輯空間的邏輯地址。在有效性110b中存儲對應(yīng)邏輯地址 的數(shù)據(jù)的有效性,該有效性例如指示該數(shù)據(jù)有效(存在于閃存封裝10中)還是無效(未存 在于閃存封裝10中)。在FM編號110c中存儲其中存儲了具有對應(yīng)邏輯地址的數(shù)據(jù)的FM 芯片32的編號(FM編號)。在塊編號110d中存儲FM芯片32中的其中存儲了具有對應(yīng)邏 輯地址的數(shù)據(jù)的塊的編號(塊編號)。在頁面編號ll〇e中存儲其中存儲了具有對應(yīng)邏輯地 址的數(shù)據(jù)的塊中的頁面的編號(頁面編號)。
[0161] 數(shù)據(jù)模式110f是在固定模式數(shù)據(jù)寫入過程中未向?qū)?yīng)頁面實(shí)際寫入數(shù)據(jù)時使用 的字段,換而言之,該字段是在執(zhí)行圖16和18中所示固定模式數(shù)據(jù)寫入過程的第二和第四 示例時使用的字段。在其它情況下可以不提供數(shù)據(jù)模式ll〇f。在數(shù)據(jù)模式ll〇f中存儲用 于指定對應(yīng)邏輯地址的數(shù)據(jù)的數(shù)據(jù)模式或者指示未存儲數(shù)據(jù)模式的NULL。在存儲數(shù)據(jù)模式 時,可以基于這一數(shù)據(jù)模式生成對應(yīng)邏輯地址的數(shù)據(jù)。生成的數(shù)據(jù)的大小是數(shù)據(jù)模式的大 小的整數(shù)倍(N倍(其中N是整數(shù)2或者更大))。
[0162] 根據(jù)在邏輯-物理轉(zhuǎn)換表110中的示出"0x10000000"作為邏輯地址110a的記錄, 在FM芯片#0的塊#0的頁面#0中存儲這一邏輯地址的數(shù)據(jù),并且對于這一邏輯地址未存 儲數(shù)據(jù)模式。
[0163] 示出"0x20000000"、"0x20002000"和"0x20004000"作為邏輯地址 110a 的記錄示 出例如在執(zhí)行固定模式數(shù)據(jù)寫入過程的第二或者第四示例(圖16或者圖18)之后獲得的 對應(yīng)邏輯地址的狀態(tài)。FM芯片#1的塊#0的頁面#0對應(yīng)于邏輯地址中的每個邏輯地址指 示的區(qū)域,并且邏輯地址中的每個邏輯地址的數(shù)據(jù)模式是"0"。因此清楚的是,與邏輯地址 中的每個邏輯地址對應(yīng)的數(shù)據(jù)的所有位是"0"。
[0164] 圖25示出根據(jù)實(shí)施例的物理-邏輯轉(zhuǎn)換表的示例。
[0165] 物理-邏輯轉(zhuǎn)換表111是在閃存存儲器封裝10的DRAM11中存儲的表并且管理記 錄,這些記錄具有FM編號111a、塊編號111b、頁面編號111c、狀態(tài)llld和邏輯地址llle的 字段。
[0166] 在FM編號111a中存儲每個FM芯片32的FM編號。在塊編號111b中存儲FM芯 片32中的塊的編號。在頁面編號111c中存儲對應(yīng)塊中的頁面的編號。在狀態(tài)llld中存 儲對應(yīng)頁面的狀態(tài)。頁面的狀態(tài)可以是"有效"(這指示存儲與邏輯地址對應(yīng)的數(shù)據(jù))、"無 效"(這指示未存儲與邏輯地址對應(yīng)的數(shù)據(jù),意味著存儲非必需數(shù)據(jù))"空白"(這指示未 存儲數(shù)據(jù))。在邏輯地址llle中存儲池2001的與在對應(yīng)頁面中存儲的數(shù)據(jù)對應(yīng)的邏輯 V0L2012的邏輯地址。
[0167] 在本實(shí)施例中,物理-邏輯轉(zhuǎn)換表111管理用于一個頁面的多個(例如在圖25中 為四個)記錄。這是因?yàn)橐粋€公共頁面被分配到在固定模式數(shù)據(jù)寫入過程中通過關(guān)于每 個頁面大小劃分其中存儲寫入數(shù)據(jù)(多個頁面大小)的邏輯區(qū)域而獲得的多個部分區(qū)域。 通過以這一方式管理記錄,可以恰當(dāng)管理在一個頁面與其多個對應(yīng)部分區(qū)域之間的對應(yīng)關(guān) 系。可以基于寫入數(shù)據(jù)的最大大小的倍數(shù)確定為一個頁面提供的記錄數(shù)目至頁面大小。
[0168] 根據(jù)物理-邏輯轉(zhuǎn)換表111的前四個記錄,F(xiàn)M芯片#0的塊#0的頁面#0為有效, 并且其中僅存儲邏輯地址"0x10000000"的數(shù)據(jù)。
[0169] 另外,根據(jù)具有FM芯片#1、塊#0和頁面#0的四個記錄,可見在相關(guān)頁面中存儲邏 輯地址" 0x20000000 "、" 0x20002000 "和" 0x20004000 "的數(shù)據(jù)。例如在固定模式數(shù)據(jù)寫入 過程(圖15至18)中,在寫入固定模式數(shù)據(jù)的情況下,將數(shù)據(jù)更新成這些四個記錄所示狀 態(tài)。以這一方式,在固定模式數(shù)據(jù)的情況下,可以將與多個頁面大小對應(yīng)的邏輯區(qū)域關(guān)聯(lián)的 頁面數(shù)目減少至1。
[0170] 圖26示出根據(jù)實(shí)施例的池管理表的示例。
[0171] 池管理表351是例如在RAID控制器301的共享存儲器350中存儲的表并且管理 如下記錄,這些記錄具有以下字段:池編號351a、設(shè)備類型351b、邏輯V0L編號351c、邏輯 地址351d、物理V0L編號351e、物理地址351f和狀態(tài)351g。
[0172] 在池編號351a中存儲該存儲系統(tǒng)1的池的編號(池編號)。在設(shè)備類型351b中 存儲物理V0L的類型(設(shè)備類型)。在邏輯V0L編號351c中存儲對應(yīng)邏輯V0L的編號(邏 輯V0L編號)。在邏輯地址351d中存儲屬于對應(yīng)邏輯V0L的邏輯地址。在物理V0L編號 351e中存儲物理V0L的編號(物理V0L編號),該物理V0L是對應(yīng)邏輯地址的區(qū)域的基礎(chǔ)。 在物理地址35If中存儲對應(yīng)物理V0L的地址(物理地址)。在設(shè)備類型對應(yīng)于使用FM芯 片的設(shè)備、比如SSD的情況下,在物理地址351f中設(shè)置NULL。在狀態(tài)351g中存儲對應(yīng)邏輯 地址的區(qū)域的狀態(tài)。其中存儲的狀態(tài)可以例如是"有效"(這指示向虛擬V0L的區(qū)域分配邏 輯地址的區(qū)域)、"空白"(這指示未向虛擬V0L的區(qū)域分配邏輯地址的區(qū)域)等。
[0173] 根據(jù)池管理表351的頂部記錄,與池#0的邏輯V0L#0xl000的邏輯地址 #0x10000000對應(yīng)的區(qū)域基于SSD#0,并且被分配到虛擬V0L的區(qū)域。
[0174] 圖27示出根據(jù)實(shí)施例的動態(tài)區(qū)域分配表的示例。
[0175] 動態(tài)區(qū)域分配表352是例如在RAID控制器301的共享存儲器350中存儲的表并且 管理記錄,這些記錄具有虛擬V0L編號352a、主機(jī)邏輯地址352b、狀態(tài)352c、盤區(qū)ID352d、 池編號352e、邏輯VOL編號352f和邏輯地址352g的字段。
[0176] 在虛擬V0L編號352a中存儲用于指定虛擬V0L的虛擬V0L的編號(虛擬V0L編 號)。在主機(jī)邏輯地址352b中存儲屬于虛擬V0L并且可以被主機(jī)識別的邏輯地址(主機(jī)邏 輯地址)。狀態(tài)352c具有其中存儲的信息,該信息指示是否向主機(jī)邏輯地址指示的對應(yīng)虛 擬V0L的區(qū)域分配邏輯V0L的區(qū)域。例如在向主機(jī)邏輯地址指示的對應(yīng)虛擬V0L的區(qū)域分 配邏輯V0L的區(qū)域的情況下,設(shè)置"已分配"。在未分配邏輯V0L的區(qū)域的情況下,設(shè)置"未 分配"。在盤區(qū)ID352d軸桿存儲盤區(qū)的ID。在池編號352e中存儲池的池編號。在邏輯V0L 編號352f中存儲邏輯V0L的邏輯V0L編號。在邏輯地址352g中存儲邏輯V0L的區(qū)域的地 址(邏輯地址)。
[0177] 根據(jù)動態(tài)區(qū)域分配表352的頂部記錄,已經(jīng)向與虛擬V0L "0x0000"的主機(jī)邏 輯地址" 0x00000000 "對應(yīng)的區(qū)域分配盤區(qū)#0 (池#0的邏輯V0L#0x 1000的邏輯地址 #0x10000000指示的區(qū)域)。
[0178] 圖28示出根據(jù)實(shí)施例的動態(tài)盤區(qū)區(qū)域分配表的示例。
[0179] 動態(tài)盤區(qū)區(qū)域分配管理表353是例如在RAID控制器301的共享存儲器350中存 儲的并且在向用于存儲來自主機(jī)200的寫入數(shù)據(jù)的區(qū)域分配盤區(qū)(比來自主機(jī)200的寫入 數(shù)據(jù)更大的區(qū)域)的情況下使用的表。
[0180] 動態(tài)盤區(qū)區(qū)域分配管理表353管理記錄,這些記錄具有虛擬V0L編號353a、主機(jī)邏 輯地址353b、狀態(tài)353c、盤區(qū)ID353d、池編號353e、邏輯V0L編號353f和邏輯地址353g的 字段。
[0181] 在虛擬V0L編號353a中存儲用于指定虛擬卷的虛擬V0L編號。在主機(jī)邏輯地址 353b中存儲主機(jī)可以識別的屬于虛擬卷的主機(jī)邏輯地址。狀態(tài)353c具有存儲于其中的信 息,該信息指示是否向主機(jī)邏輯地址指示的對應(yīng)虛擬卷的區(qū)域分配邏輯卷的區(qū)域。例如在 向主機(jī)邏輯地址指示的對應(yīng)虛擬卷的區(qū)域分配邏輯卷的區(qū)域的情況下,向狀態(tài)353c設(shè)置 "已分配"。在未分配邏輯卷的區(qū)域的情況下,向狀態(tài)353c設(shè)置"未分配"。在盤區(qū)ID353d 中存儲向?qū)?yīng)區(qū)域分配的盤區(qū)的ID。在池編號353e中存儲向?qū)?yīng)區(qū)域分配的池的池編號。 在邏輯V0L編號353f中存儲向?qū)?yīng)區(qū)域分配的邏輯卷的邏輯V0L編號。在邏輯地址353g 中存儲向?qū)?yīng)區(qū)域分配的邏輯卷的邏輯地址。
[0182] 根據(jù)動態(tài)盤區(qū)區(qū)域分配管理表353的頂部記錄,已經(jīng)向與虛擬V0L "0x0000"的主 機(jī)邏輯地址"0x00000000"對應(yīng)的區(qū)域分配盤區(qū)#〇 (池#〇的邏輯V0L#0xl000的邏輯地址 #0x10000000指示的區(qū)域)。
[0183] 在使用動態(tài)盤區(qū)區(qū)域分配管理表353來分配區(qū)域時,在虛擬V0L編號"0x0000"和 主機(jī)邏輯地址"0x00002000"的情況下,RAID控制器查詢示出虛擬V0L編號"0x0000"和主 機(jī)邏輯地址"0x00000000"的記錄,并且確定具有池編號"0"和邏輯V0L編號"0x0000"的 邏輯V0L作為分配目的地。RAID控制器還確定通過將"0x00002000"(這是在記錄的分配 目標(biāo)主機(jī)邏輯地址"0x00002000"與主機(jī)邏輯地址"0x00000000"之間的差值)與記錄的邏 輯地址"0x10000000"相加而獲得的地址"0x10002000"作為將向與虛擬卷對應(yīng)的區(qū)域分配 的邏輯卷的邏輯地址。
[0184] 圖29示出根據(jù)實(shí)施例的訪問頻率表的示例。
[0185] 訪問頻率表354是例如在RAID控制器301的共享存儲器350中存儲的表并且管 理記錄,這些記錄具有虛擬V0L編號354a、主機(jī)邏輯地址354b、當(dāng)前設(shè)備類型354c和訪問 頻率354d的字段。
[0186] 在虛擬V0L編號354a中存儲用于指定虛擬卷的虛擬V0L編號。在主機(jī)邏輯地址 354b中存儲主機(jī)可以識別的屬于虛擬卷的主機(jī)邏輯地址。
[0187] 在當(dāng)前設(shè)備類型354c中存儲當(dāng)前向?qū)?yīng)主機(jī)邏輯地址的區(qū)域分配的存儲區(qū)域的 設(shè)備類型。在訪問頻率354d中存儲關(guān)于對對應(yīng)主機(jī)邏輯地址的區(qū)域的訪問頻率的信息。在 本實(shí)施例中,按照訪問頻率降序設(shè)置關(guān)于訪問頻率的信息為"高"、"中"和"低"。在本實(shí)施 例中,在訪問頻率是"高"的情況下,需要將數(shù)據(jù)移向SSD400的盤區(qū)配置的層,并且在訪問 頻率是"中"的情況下,需要將數(shù)據(jù)移向HDD(SAS)500的盤區(qū)配置的層。在訪問頻率是"低" 的情況下,需要將數(shù)據(jù)移向HDD(SATA)600的盤區(qū)配置的層。注意在訪問頻率表354中,在 訪問頻率上面或者取代訪問頻率,RAID控制器可以管理上次訪問時間和/或數(shù)據(jù)存儲時間 并且確定這些值中的哪個值和盤區(qū)的哪些數(shù)據(jù)移向某層的盤區(qū)。
[0188] 根據(jù)訪問頻率表354的頂部記錄,向與虛擬V0L編號"0x0000"和主機(jī)邏輯地址 "0x00000000"對應(yīng)的區(qū)域分配當(dāng)前SSD設(shè)備的區(qū)域,并且對這一區(qū)域的訪問頻率是"低"。
[0189] 圖30示出根據(jù)實(shí)施例的對管理表的示例。
[0190] 對管理表355是例如在RAID控制器301的共享存儲器350中存儲的表并且管理 記錄,這些記錄具有主V0L編號355a、有效性355b、ID355c和快照V0L編號355d的字段。
[0191] 在主V0L編號355a中存儲用于創(chuàng)建快照的主V0L的編號(主V0L編號)。在有效 性355b中存儲有效性,該有效性指示對應(yīng)記錄的副本是否有效。在ID355c中存儲用于標(biāo) 識快照的編號(ID)??梢曰谙嗤骶韯?chuàng)建多個快照,并且可以基于編號標(biāo)識快照(快照 的代)。編號可以例如等效于代號的值。在快照V0L編號355d中存儲快照V0L的編號(快 照V0L編號)。
[0192] 根據(jù)對管理表355的頂部記錄,在與快照V0L編號"0x1001"對應(yīng)的虛擬卷中存儲 用于主V0L編號"0x1000"的快照,并且這一快照的編號是"0",這意味著這一快照有效。
[0193] 圖31示出根據(jù)實(shí)施例的快照數(shù)據(jù)分配表的示例。
[0194] 快照數(shù)據(jù)分配表356是例如在RAID控制器301的共享存儲器350中存儲的表并且 管理記錄,這些記錄具有快照V0L編號356a、主機(jī)邏輯地址356b、狀態(tài)356c、池編號356d、 邏輯VOL編號356e和邏輯地址356f的字段。
[0195] 在快照V0L編號356a中存儲其中存儲快照的快照卷的快照V0L編號。在主機(jī)邏 輯地址356b中存儲主機(jī)可以識別的屬于虛擬卷的主機(jī)邏輯地址。狀態(tài)356c具有其中存儲 的信息,該信息指示是否向?qū)?yīng)主機(jī)邏輯地址指示的區(qū)域分配邏輯卷。例如在向主機(jī)邏輯 地址指示的對應(yīng)虛擬卷的區(qū)域分配邏輯卷的區(qū)域的情況下,在狀態(tài)356c中設(shè)置"已分配"。 在未分配邏輯卷的區(qū)域的情況下,設(shè)置"未分配"。在池編號356d中存儲向?qū)?yīng)區(qū)域分配的 池的池編號。在邏輯V0L編號356e中存儲向?qū)?yīng)區(qū)域分配的邏輯卷的邏輯V0L編號。在 邏輯地址356f中存儲向?qū)?yīng)區(qū)域分配的邏輯卷的邏輯地址。
[0196] 接著參照流程圖具體描述根據(jù)本實(shí)施例的存儲系統(tǒng)執(zhí)行的過程。
[0197] 圖32示出根據(jù)實(shí)施例的寫入過程的流程圖的示例。
[0198] 在SSD400的閃存封裝10的FM控制器20從RAID控制器301接收用于向預(yù)定邏 輯地址(在圖32的描述中稱為"指派的邏輯地址")指示的區(qū)域?qū)懭霐?shù)據(jù)的寫入請求的情 況下執(zhí)行寫入過程。
[0199] 一旦FM控制器20從RAID控制器301接收寫入請求,F(xiàn)M控制器20在物理-邏輯 轉(zhuǎn)換表111中搜尋空白頁面(步驟S1)、向用于存儲數(shù)據(jù)的頁面分配空白頁面中的任何空白 頁面、在其中存儲對應(yīng)數(shù)據(jù)并且將邏輯-物理轉(zhuǎn)換表110中的與指派的邏輯地址對應(yīng)的記 錄的FM編號110c、塊編號110d和頁面編號110e更新成與分配的頁面對應(yīng)的值(步驟S2)。 FM控制器20后續(xù)參照物理-邏輯轉(zhuǎn)換表111以確定記錄(在該記錄中,邏輯地址llle的 值指示指派的邏輯地址)的狀態(tài)llld是否為"有效"(步驟S3)。
[0200] 在狀態(tài)是"無效"(在步驟S3中為是)的情況下,記錄所示頁面(物理區(qū)域)的數(shù) 據(jù)是在重寫之前獲得的數(shù)據(jù)(舊數(shù)據(jù))、因此是無效數(shù)據(jù)。因此,F(xiàn)M控制器20將對應(yīng)記錄 的狀態(tài)llld從"有效"改變成"無效"(步驟S4)并且使該過程進(jìn)展至步驟S5。作為結(jié)果, 將存儲指派的邏輯地址的數(shù)據(jù)的頁面作為無效頁面管理。在狀態(tài)不是"有效"(在步驟S3 中為否)的情況下,F(xiàn)M控制器20使該過程進(jìn)展至步驟S5。
[0201] 在步驟S5中,F(xiàn)M控制器20將物理-邏輯轉(zhuǎn)換表111中的與在步驟S2中分配的 頁面對應(yīng)的記錄的狀態(tài)llld從"空白"改變成"有效"(步驟S5)、將邏輯-物理轉(zhuǎn)換表110 中的與指派的邏輯地址對應(yīng)的記錄的有效性ll〇b改變成"有效"、然后結(jié)束該過程。
[0202] 接著描述用于擦除在SSD400的FM芯片32中的塊的數(shù)據(jù)的塊擦除過程。
[0203] 圖33示出根據(jù)實(shí)施例的塊擦除過程的流程圖的示例。
[0204] FM控制器20例如在FM控制器20檢測到在FM芯片32中可用的容量耗盡時執(zhí)行 塊擦除過程。容量耗盡意味著空塊數(shù)目變成小于預(yù)定比率(預(yù)定數(shù))??梢园凑杖魏螁挝?檢測容量耗盡。另外,F(xiàn)M控制器20可以每個預(yù)定時間間隔在規(guī)律基礎(chǔ)上執(zhí)行塊擦除過程。
[0205] FM控制器20指定將處理的物理塊編號(步驟S10)。將處理的物理塊編號可以是 在受到先前塊擦除過程的塊之后的塊的編號。
[0206] 接著,F(xiàn)M控制器20查詢物理-邏輯轉(zhuǎn)換表111中的與指定的物理塊編號對應(yīng)的 記錄以確定記錄的狀態(tài)llld是否為無效或者換而言之對應(yīng)頁面是否無效(步驟S11)。在 對應(yīng)頁面不是無效(在步驟S11中為否)的情況下,這意味著有效頁面存在于塊中、因此不 能擦除塊。因此,F(xiàn)M控制器20結(jié)束塊擦除過程。
[0207] 在另一方面,在對應(yīng)頁面無效(在步驟S11中為是)的情況下,F(xiàn)M控制器20確定 是否存在與塊對應(yīng)的后續(xù)記錄(步驟S12)。
[0208] 作為確定的結(jié)果,在存在與塊對應(yīng)的后續(xù)記錄(在步驟S12中為是)的情況下,需 要確認(rèn)相同頁面或者后續(xù)頁面的狀態(tài)。因此,F(xiàn)M控制器20使該過程進(jìn)展至步驟S11。在另 一方面,在未存在與塊對應(yīng)的任何后續(xù)記錄(在步驟S12中為否)的情況下,這意味著塊的 所有頁面無效。因此,F(xiàn)M控制器20擦除塊的數(shù)據(jù)(步驟S13)。
[0209] FM控制器20然后更新物理-邏輯轉(zhuǎn)換表111 (步驟S14)并且結(jié)束該過程。更具 體而言,F(xiàn)M控制器20物理-邏輯轉(zhuǎn)換表111上的與塊的從其擦除數(shù)據(jù)的所有頁面的記錄 對應(yīng)的狀態(tài)11 Id改變成"空白"。因而可以增加 FM芯片32的空閑容量。
[0210] 接著描述回收過程,該回收過程是用于生成可以受到擦除過程的塊的過程。
[0211] 圖34示出根據(jù)實(shí)施例的回收的流程圖的示例。
[0212] FM控制器20例如在FM控制器20檢測到在FM芯片32中可用的容量耗盡時執(zhí)行 回收。容量耗盡意味著空塊數(shù)目變成小于預(yù)定比率(預(yù)定數(shù))??梢园凑杖魏螁挝粰z測容 量耗盡。另外,F(xiàn)M控制器20可以每個預(yù)定時間間隔在規(guī)律基礎(chǔ)上執(zhí)行回收。
[0213] FM控制器20指定有效頁面將被存儲到的目的地塊(也稱為"回收目的地塊")的 物理塊編號(步驟S21)?;厥漳康牡貕K可以例如是無有效頁面而有許多空白頁面的塊。
[0214] 接著,F(xiàn)M控制器20指定從其移動有效頁面的源塊(也稱為"回收資源塊")的物 理塊編號(步驟S22)?;厥赵磯K可以例如是無空白頁面而有預(yù)定數(shù)目或者很少的有效頁面 的塊。
[0215] FM控制器20然后確定回收源塊是否具有有效頁面(步驟S23)。在無有效頁面作 為確定的結(jié)果(在步驟S23中為否)時,F(xiàn)M控制器20使該過程推進(jìn)至步驟S22。
[0216] 在另一方面,在回收源塊具有有效頁面(在步驟S23中為是)時,F(xiàn)M控制器20向 回收目的地塊的頁面(復(fù)制目的地頁面)復(fù)制在這一有效頁面(復(fù)制源頁面)中存儲的數(shù) 據(jù)(步驟S24)并且更新邏輯-物理轉(zhuǎn)換表110和物理-邏輯轉(zhuǎn)換表111 (步驟S25)。更具 體而言,F(xiàn)M控制器20將物理-邏輯轉(zhuǎn)換表111上的與復(fù)制源頁面的記錄對應(yīng)的狀態(tài)llld 設(shè)置成"無效"、它的邏輯地址llle設(shè)置成"NULL"、與復(fù)制目的地頁面對應(yīng)的記錄的狀態(tài) llld設(shè)置成"有效"并且它的邏輯地址llle設(shè)置成在復(fù)制源的邏輯地址llle中存儲的邏 輯地址。FM控制器20關(guān)于邏輯-物理轉(zhuǎn)換表110上的具有設(shè)置的復(fù)制源頁面的記錄設(shè)置 復(fù)制目的地頁面的FM編號、塊編號和頁面編號。
[0217] FM控制器20后續(xù)確定回收目的地塊是否具有空白頁面(步驟S26)。在回收目的 地塊具有空白頁面(在步驟S26中為是)的情況下,F(xiàn)M控制器20使該過程推進(jìn)至S23。在 回收目的地塊無空白頁面(在步驟S26中為否)的情況下,F(xiàn)M控制器20結(jié)束回收過程。
[0218] 這一回收過程可以生成其中所有頁面為無效的塊,并且塊擦除過程可以將塊改變 成空塊并且增加 FM芯片的自由容量。
[0219] 接著具體描述動態(tài)區(qū)域回收過程。動態(tài)區(qū)域回收過程是圖11中所示過程。
[0220] 圖35示出根據(jù)實(shí)施例的動態(tài)區(qū)域分配過程的流程圖的示例。
[0221] 一旦RAID控制器301從主機(jī)200接收用于寫入數(shù)據(jù)(寫入數(shù)據(jù))的寫入請求(步 驟S31),RAID控制器301確定動態(tài)區(qū)域分配表352中的與基于寫入請求指派的虛擬V0L編 號的主機(jī)邏輯地址對應(yīng)的記錄的狀態(tài)352c是否為"未分配"。換而言之,RAID控制器301 確定是否向?qū)?yīng)區(qū)域分配盤區(qū)(步驟S32)。
[0222] 在記錄的狀態(tài)352c未指示"未分配"(在步驟S32中為否)的情況下,這意味著向 區(qū)域分配盤區(qū)。因此,RAID控制器301使該過程推進(jìn)至步驟S35。
[0223] 在記錄的狀態(tài)352c指示"未分配"(在步驟S32中為是)的情況下,這意味著未 向區(qū)域分配盤區(qū)。因此,RAID控制器301從池管理表351指定記錄,該記錄示出設(shè)備類型 351b是SSD并且狀態(tài)351g是"空白"。RAID控制器301也分配與邏輯地址351d所示邏輯 地址對應(yīng)的盤區(qū)(該盤區(qū)屬于具有記錄的邏輯V0L編號351c所示邏輯V0L編號的邏輯卷) 作為寫入目的地盤區(qū)(步驟S33)并且基于分配來更新區(qū)域分配表352 (步驟S34)。更具體 而言,RAID控制器301在池動態(tài)區(qū)域分配表352上的記錄的池編號352e、邏輯卷編號352f 和邏輯地址352g中設(shè)置與分配的盤區(qū)對應(yīng)的值,并且將狀態(tài)352c設(shè)置成"已分配"。RAID 控制器301隨后使該過程進(jìn)展至步驟S35。
[0224] 在步驟S35中,RAID控制器301指派指示分配的盤區(qū)的邏輯V0L編號和邏輯地址 并且向FM控制器20發(fā)送用于將寫入數(shù)據(jù)寫入到SSD400中的寫入請求,并且由此向SSD400 中寫入數(shù)據(jù)(步驟S35)。注意SSD400的FM控制器20在接收寫入請求時執(zhí)行圖32中所示 寫入過程。
[0225] 接著具體描述動態(tài)盤區(qū)區(qū)域分配過程。動態(tài)盤區(qū)分配過程是圖12中所示過程。
[0226] 圖36示出根據(jù)實(shí)施例的動態(tài)盤區(qū)區(qū)域分配過程的流程圖的示例。
[0227] 一旦RAID控制器301從主機(jī)200接收用于寫入數(shù)據(jù)(寫入數(shù)據(jù))的寫入請求(步 驟S41),RAID控制器301查詢動態(tài)盤區(qū)區(qū)域分配表353以確定與寫入目的地區(qū)域?qū)?yīng)的狀 態(tài)353c是否指示"未分配"。換而言之,RAID控制器301確定是否向?qū)懭肽康牡貐^(qū)域分配 盤區(qū)(步驟S42)。
[0228] 在記錄的狀態(tài)353c位置不指示"未分配"(在步驟S42中為否)的情況下,這意味 著向?qū)懭肽康牡貐^(qū)域分配盤區(qū)。因此,RAID控制器301使該過程進(jìn)展至步驟S45。
[0229] 在另一方面,在記錄的狀態(tài)353c指示"未分配"(在步驟S42中為是)的情況下, 這意味著沒有盤區(qū)被分配給寫入目的地區(qū)域。因此,RAID控制器301從池管理表351指定 多個記錄,這些記錄示出設(shè)備類型351b是SSD并且狀態(tài)351g是"空白"。RAID控制器301 也分配與邏輯地址351d所示邏輯地址對應(yīng)的盤區(qū)(步驟S43),這些盤區(qū)屬于具有記錄的 邏輯V0L編號351c所示邏輯V0L編號的邏輯卷,并且基于分配來更新動態(tài)盤區(qū)區(qū)域分配表 353 (步驟S44)。更具體而言,RAID控制器301在動態(tài)盤區(qū)區(qū)域分配表353上的記錄的池 編號353e、邏輯卷編號353f和邏輯地址353g中設(shè)置與分配的盤區(qū)對應(yīng)的值,并且將狀態(tài) 353c設(shè)置成"已分配"。RAID控制器301隨后使該過程進(jìn)展至步驟S45。
[0230] 在步驟S45中,RAID控制器301指派指示分配的盤區(qū)的與虛擬V0L編號的邏輯地 址對應(yīng)的邏輯V0L編號和邏輯地址并且向FM控制器20發(fā)送用于將寫入數(shù)據(jù)寫入到SSD400 中的寫入請求并且由此向SSD400中寫入數(shù)據(jù)(步驟S45)。例如在虛擬V0L編號是"0x0000" 并且主機(jī)邏輯地址是"0x00002000"的情況下,RAID控制器301查詢示出虛擬V0L編號 "0x0000"和主機(jī)邏輯地址"0x00000000"的記錄并且確定具有池編號"0"和邏輯V0L編號 "0x0000"的邏輯卷作為分配目的地。RAID控制器301也確定地址"0x10002000"作為向 虛擬卷分配的邏輯卷的邏輯地址,該地址是通過將在將分配的主機(jī)邏輯地址"0x00002000" 與記錄的主機(jī)邏輯地址" 0x00000000 "之間的差值" 0x00002000 "與記錄的邏輯地址 "0x10000000"而獲得的。注意SSD400的FM控制器20在接收寫入請求時執(zhí)行圖32中所示 寫入過程。
[0231] 接著具體描述層間動態(tài)遷移。層間動態(tài)遷移是圖13中所示過程。
[0232] 圖37示出根據(jù)實(shí)施例的層間動態(tài)遷移的流程圖的示例。
[0233] 例如在規(guī)律基礎(chǔ)上執(zhí)行層間動態(tài)遷移。RAID控制器301從訪問頻率表354獲取 一個記錄并且確定當(dāng)前設(shè)備類型354c--在該設(shè)備類型中存儲記錄指示的虛擬卷的區(qū)域 (目標(biāo)虛擬卷區(qū)域)的數(shù)據(jù)--是否為SSD(SSD400的設(shè)備類型)(步驟S51)。在設(shè)備類型 不是SSD(在步驟S51中為否)的情況下,RAID控制器301結(jié)束層間動態(tài)遷移。
[0234] 在另一方面,在設(shè)備類型是SSD(在步驟S51中為是)的情況下,RAID控制器301確 定對應(yīng)記錄的訪問頻率354d是否指示"中"(步驟S52)。在訪問頻率354d未指示"中"(在 步驟S52中為否)的情況下,RAID控制器301使該過程推進(jìn)至步驟S57。
[0235] 在另一方面,在訪問頻率354d指示"中"(在步驟S52中為是)的情況下,RAID控 制器301從池管理表351檢測HDD (SAS) 500的空盤區(qū)、分配空盤區(qū)作為目的地盤區(qū)(步驟 S53)、從SSD400讀取與目標(biāo)虛擬卷區(qū)域?qū)?yīng)的數(shù)據(jù)并且將數(shù)據(jù)移向HDD (SAS) 500的分配的 盤區(qū)(步驟S54)。隨后,RAID控制器301向具有向非必需區(qū)域(在本例中為源盤區(qū))對應(yīng) 的頁面的SSD400發(fā)送用于減少與非必需區(qū)域?qū)?yīng)的頁面數(shù)目的非必需減少請求,該非必 需區(qū)域是其中存儲對主機(jī)為非必需的數(shù)據(jù)(步驟S55)。非必需減少請求例如是用于寫入固 定模式數(shù)據(jù)或者未映射請求的寫入請求。用于寫入固定模式數(shù)據(jù)的寫入請求可以是包括寫 入數(shù)據(jù)大小的固定模式數(shù)據(jù)的寫入請求或者如下寫入請求,該寫入請求包括固定模式數(shù)據(jù) 中的與一個頁面的大小等效的部分?jǐn)?shù)據(jù)和指示固定模式數(shù)據(jù)的大小的大小信息。在非必需 區(qū)域?qū)儆诙鄠€SSD400的情況下,RAID組301向多個SSD400發(fā)送非必需減少請求。注意接 收非必需減少請求的FM控制器20執(zhí)行如以下將描述的圖40至44中所示過程中的任何過 程,并且在閃存封裝10中的多數(shù)非必需數(shù)據(jù)變成無效數(shù)據(jù)。
[0236] 接著,RAID控制器301更新動態(tài)區(qū)域分配表352和訪問頻率表354 (步驟S56)。 更具體而言,RAID控制器301在動態(tài)區(qū)域分配表352的與目標(biāo)虛擬卷區(qū)域的記錄對應(yīng)的池 編號352e、邏輯V0L編號352f和邏輯地址352g中設(shè)置與HDD(SAS)的作為目的地區(qū)域分 配的區(qū)域?qū)?yīng)的值。RAID控制器301也為與目標(biāo)虛擬卷區(qū)域?qū)?yīng)的記錄在訪問頻率表354 的當(dāng)前設(shè)備類型354c中設(shè)置"SAS"。RAID控制器301隨后結(jié)束層間動態(tài)遷移。
[0237] 在步驟S57中,RAID控制器301確定對應(yīng)記錄的訪問頻率354d是否指示"低"(步 驟S57)。在訪問頻率354d未指示"低"(在步驟S57中為否)的情況下,RAID控制器301 結(jié)束層間動態(tài)遷移。
[0238] 在另一方面,在訪問頻率354d指示"低"(在步驟S57中為是)的情況下,RAID控 制器301從池管理表351檢測HDD (SATA) 600的空盤區(qū)、分配空盤區(qū)作為目的地盤區(qū)(步驟 S58)、從SSD400讀取與目標(biāo)虛擬卷區(qū)域?qū)?yīng)的數(shù)據(jù)并且將數(shù)據(jù)移向HDD (SATA) 600的與分 配的盤區(qū)對應(yīng)的區(qū)域(步驟S59)。RAID控制器301然后向SSD400發(fā)送非必需減少請求, 該SSD是源盤區(qū)的基礎(chǔ)(步驟S60)。
[0239] RAID控制器301后續(xù)更新動態(tài)區(qū)域分配表352和訪問頻率表354。更具體而言, RAID控制器301為與目標(biāo)虛擬卷區(qū)域?qū)?yīng)的記錄在動態(tài)區(qū)域分配表352的池編號352e、邏 輯V0L編號352f和邏輯地址352g中設(shè)置用于HDD (SATA) 600的作為目的地區(qū)域分配的區(qū) 域的值并且為與目標(biāo)虛擬卷區(qū)域?qū)?yīng)的記錄設(shè)置"SATA"作為訪問頻率表354的當(dāng)前設(shè)備 類型354c。隨后,RAID控制器301結(jié)束層間動態(tài)遷移。
[0240] 接著具體描述快照創(chuàng)建過程。快照創(chuàng)建過程是圖21中所示過程。
[0241] 圖38示出根據(jù)實(shí)施例的快照創(chuàng)建過程的流程圖的示例。
[0242] 在從主機(jī)200接收對于數(shù)據(jù)(寫入數(shù)據(jù):新數(shù)據(jù))的寫入請求(步驟S71)時,RAID 控制器301查詢對管理表355以確定是否注冊寫入請求指派的虛擬VOL編號作為主VOL編 號355a,并且搜尋示出"有效"作為有效性355b的記錄以確定是否需要向快照卷復(fù)制數(shù)據(jù) (步驟S72)。
[0243] 在無需復(fù)制數(shù)據(jù)(在步驟S72中為否)的情況下,RAID控制器301使該過程進(jìn)展 至步驟S76。在另一方面,在需要復(fù)制數(shù)據(jù)(在步驟S72中為是)的情況下,RAID控制器 301從SSD400的區(qū)域向高速緩存340倒盤存儲的數(shù)據(jù)(舊數(shù)據(jù)),該高速緩存是與向?qū)懭?請求指派的虛擬卷(主卷)的區(qū)域分配的盤區(qū)對應(yīng)的區(qū)域(步驟S73)。
[0244] RAID控制器301然后從在步驟S73中從對管理表355搜索的記錄獲取快照V0L編 號、指定快照卷并且在高速緩存340之間從主卷向快照卷復(fù)制舊數(shù)據(jù)(步驟S74)。
[0245] 隨后,RAID控制器301從高速緩存340向快照卷分配的物理區(qū)域(在本例中為 SSD400的FM芯片32的存儲區(qū)域)解除倒盤舊數(shù)據(jù)(步驟S75)并且使該過程進(jìn)展至步驟 S76。在步驟S76中,RAID控制器301向與主卷對應(yīng)的區(qū)域中寫入新數(shù)據(jù)(步驟S76)并且 結(jié)束該過程。
[0246] 接著具體描述快照刪除過程??煺談h除過程是圖23中所示過程。
[0247] 圖39示出根據(jù)實(shí)施例的快照刪除過程的流程圖的示例。
[0248] 在從主機(jī)200接收用于刪除快照的請求(快照刪除請求)(步驟S81)時,RAID控制 器301基于在快照刪除請求中包括的主V0L編號和ID指定與對管理表355對應(yīng)的記錄、指 定快照V0L編號并且將與記錄中的每個記錄對應(yīng)的有效性355b改變成"無效"(步驟S82)。
[0249] 接著,RAID控制器301從快照數(shù)據(jù)分配表356指定來自存儲指定的快照V0L編號 的記錄之中的一個未處理的記錄并且確定這一記錄的狀態(tài)356c是否指示"已分配"。換而 言之,RAID控制器301確定是否向與快照V0L編號對應(yīng)的快照卷分配池的區(qū)域(步驟S83)。
[0250] 在為分配池的區(qū)域的情況下、也就是在狀態(tài)356c指示"未分配"(在步驟S83中為 否)的情況下,這意味著未在SSD400中存儲快照卷的數(shù)據(jù)。因此,RAID控制器301結(jié)束快 照刪除過程。
[0251] 在分配池的區(qū)域的情況下、也就是在狀態(tài)356c指示"已分配"(在步驟S83中為 是)的情況下,這意味著在SSD400中存儲快照卷的數(shù)據(jù)(即非必需數(shù)據(jù))。因此,RAID控 制器301從記錄獲取池編號、邏輯V0L編號和邏輯地址、通過使用池編號、邏輯V0L編號和 邏輯地址從池管理表351指定對應(yīng)記錄并且向與指定的記錄的物理V0L編號對應(yīng)的SSD400 的閃存封裝10發(fā)送非必需減少請求(步驟S84)。非必需減少請求例如是用于寫入固定模 式數(shù)據(jù)的寫入請求或者是取消映射請求。用于寫入固定模式數(shù)據(jù)的寫入請求可以是包括寫 入數(shù)據(jù)大小的固定模式數(shù)據(jù)的寫入請求或者如下寫入請求,該寫入請求包括固定模式數(shù)據(jù) 中的與一個頁面的大小等效的部分?jǐn)?shù)據(jù)和指示固定模式數(shù)據(jù)的大小的大小信息。注意接收 非必需減少請求的閃存封裝10的FM控制器20執(zhí)行如下文將描述的圖40至44中所示過 程中的任何過程,并且減少閃存封裝中的非必需數(shù)據(jù)量。
[0252] RAID控制器301后續(xù)從快照數(shù)據(jù)分配表356刪除在步驟S83中指定的記錄、在頁 面管理表351中將指定的記錄的狀態(tài)351g改變成"空白"(步驟S85)、使該過程推進(jìn)至步 驟S83并且對快照卷的其它區(qū)域反復(fù)執(zhí)行相似過程。
[0253] 以上描述的快照刪除過程可以減少在SSD400中存儲的受到快照刪除的快照卷的 數(shù)據(jù)(非必需數(shù)據(jù))量。
[0254] 接著參照圖40至44具體描述接收非必需減少請求的FM控制器20執(zhí)行的過程的 示例。
[0255] 圖40示出根據(jù)實(shí)施例的固定模式數(shù)據(jù)寫入過程的第一示例的流程圖的示例。
[0256] 固定模式數(shù)據(jù)寫入過程的第一示例是圖15中所示固定模式數(shù)據(jù)寫入過程。
[0257] 在本例中假設(shè)RAID控制器301發(fā)送用于將寫入數(shù)據(jù)的大?。ɡ?4KB)的固定 模式數(shù)據(jù)1051寫入到邏輯卷的區(qū)域中的寫入請求。
[0258] 在接收RAID控制器301發(fā)送的寫入請求(步驟S91)時,SSD400的閃存封裝10的 FM控制器20確定請求寫入的數(shù)據(jù)(寫入數(shù)據(jù))是否為固定模式數(shù)據(jù)(步驟S92)。
[0259] 在寫入數(shù)據(jù)不是固定模式數(shù)據(jù)(在步驟S92中為否)的情況下,F(xiàn)M控制器20結(jié) 束固定模式數(shù)據(jù)寫入過程。注意對這一數(shù)據(jù)執(zhí)行正常數(shù)據(jù)寫入過程。
[0260] 在另一方面,在寫入數(shù)據(jù)是固定模式數(shù)據(jù)(在步驟S92中為是)的情況下,F(xiàn)M控制 器20查詢物理-邏輯轉(zhuǎn)換表111以搜尋空白頁面(步驟S93)并且向獲得的空白頁面(寫 入目的地共享頁面)寫入固定模式數(shù)據(jù)的與一個頁面的大小等效的數(shù)據(jù)(步驟S94)。FM 控制器20然后更新邏輯-物理轉(zhuǎn)換表110和物理-邏輯轉(zhuǎn)換表111 (步驟S95)。
[0261] 更具體而言,F(xiàn)M控制器20使得用于物理-邏輯轉(zhuǎn)換表111中的與屬于寫入目標(biāo) 邏輯區(qū)域的邏輯地址關(guān)聯(lián)的多個頁面(例如三個頁面)對應(yīng)的記錄的狀態(tài)llld無效。作 為結(jié)果,管理向?qū)懭肽繕?biāo)邏輯區(qū)域分配的多個頁面作為無效頁面。因此,防止在回收或者刷 新時向其它頁面復(fù)制頁面的該數(shù)據(jù),并且可以在后續(xù)塊擦除過程之后使用頁面作為空白頁 面。在包括頁面的塊的所有頁面為無效的情況下,然后擦除塊并且可以將塊的所有頁面改 變成空白頁面。以這一方式,可以迅速增加自由容量。
[0262] 另外,F(xiàn)M控制器20將物理-邏輯轉(zhuǎn)換表111中的與寫入目的地共享頁面對應(yīng)的 多個(在本例中為三個)記錄中的每個記錄的狀態(tài)llld設(shè)置成"有效"并且為記錄中的每 個記錄的邏輯地址me對于通過根據(jù)頁面大小劃分寫入目標(biāo)邏輯區(qū)域而獲得的部分區(qū)域 中的每個部分區(qū)域設(shè)置邏輯地址。因而向一個頁面(寫入目的地共享頁面)分配并且管理 通過根據(jù)頁面大小劃分寫入目標(biāo)邏輯區(qū)域而獲得的部分區(qū)域。
[0263] FM控制器20也在與寫入目的地共享頁面對應(yīng)的值為邏輯-物理轉(zhuǎn)換表110中 的與指示寫入目標(biāo)邏輯區(qū)域的邏輯地址對應(yīng)的多個(在本例中為三個)記錄設(shè)置FM編號 110c、塊編號110d和頁面編號110f。作為結(jié)果,可以從一個頁面(寫入目的地共享頁面) 獲取在寫入目的地邏輯區(qū)域中存儲的數(shù)據(jù)。這可以基于固定模式數(shù)據(jù)中的與頁面大小等效 的多個部分?jǐn)?shù)據(jù)相同這樣的特性來實(shí)現(xiàn)。
[0264] 在步驟S95之后,F(xiàn)M控制器20結(jié)束該過程。
[0265] 圖41示出根據(jù)實(shí)施例的固定模式數(shù)據(jù)寫入過程的第二示例的流程圖的示例。
[0266] 固定模式寫入過程的第二示例是圖16中所示固定模式數(shù)據(jù)寫入過程。
[0267] 在本例中假設(shè)RAID控制器301發(fā)送用于將寫入數(shù)據(jù)的大?。ɡ?4KB)的固定 模式數(shù)據(jù)1051寫入到邏輯卷的區(qū)域中的寫入請求。
[0268] 在接收RAID控制器301發(fā)送的寫入請求(步驟S101)時,SSD400的閃存封裝10 的FM控制器20確定請求寫入的數(shù)據(jù)(寫入數(shù)據(jù))是否為固定模式數(shù)據(jù)(步驟S102)。
[0269] 在寫入數(shù)據(jù)不是固定模式數(shù)據(jù)(在步驟S102中為否)的情況下,F(xiàn)M控制器20結(jié) 束固定模式數(shù)據(jù)寫入過程。注意對這一數(shù)據(jù)執(zhí)行正常數(shù)據(jù)寫入過程。
[0270] 在另一方面,在寫入數(shù)據(jù)是固定模式數(shù)據(jù)(在步驟S102中為是)的情況下,F(xiàn)M控 制器20查詢物理-邏輯轉(zhuǎn)換表111以搜尋空白頁面并且獲取空白頁面(寫入目的地共享 頁面)(步驟S103)。FM控制器20然后更新邏輯-物理轉(zhuǎn)換表110和物理-邏輯轉(zhuǎn)換表 111(步驟 S104)。
[0271] 更具體而言,F(xiàn)M控制器20使得用于物理-邏輯轉(zhuǎn)換表111中的與屬于寫入目標(biāo) 邏輯區(qū)域的邏輯地址關(guān)聯(lián)的多個頁面(例如三個頁面)對應(yīng)的記錄的狀態(tài)llld無效。作 為結(jié)果,管理向?qū)懭肽繕?biāo)邏輯區(qū)域分配的多個頁面作為無效頁面。因此,防止在回收或者刷 新時向其它頁面復(fù)制頁面的該數(shù)據(jù),并且可以在后續(xù)塊擦除過程之后使用頁面作為空白頁 面。在包括頁面的塊的所有頁面為無效的情況下,然后擦除塊并且可以將塊的所有頁面改 變成空白頁面。以這一方式,可以迅速增加自由容量。
[0272] 另外,F(xiàn)M控制器20將物理-邏輯轉(zhuǎn)換表111中的與寫入目的地共享頁面對應(yīng)的 多個(在本例中為三個)記錄中的每個記錄的狀態(tài)llld設(shè)置成"有效"并且為記錄中的每 個記錄的邏輯地址me對于通過根據(jù)頁面大小劃分寫入目標(biāo)邏輯區(qū)域而獲得的部分區(qū)域 中的每個部分區(qū)域設(shè)置邏輯地址。因而向一個頁面(寫入目的地共享頁面)分配并且管理 通過根據(jù)頁面大小劃分寫入目標(biāo)邏輯區(qū)域而獲得的部分區(qū)域。
[0273] FM控制器20也在與寫入目的地共享頁面對應(yīng)的值為邏輯-物理轉(zhuǎn)換表110中 的與指示寫入目標(biāo)邏輯區(qū)域的邏輯地址對應(yīng)的多個(在本例中為三個)記錄設(shè)置FM編號 110c、塊編號110d和頁面編號110f并且在數(shù)據(jù)模式110f中存儲用于指定固定模式數(shù)據(jù)的 模式數(shù)據(jù)(在本例中為"〇")。作為結(jié)果,在寫入目標(biāo)邏輯區(qū)域中存儲的數(shù)據(jù)可以與一個頁 面(寫入目的地共享頁面)關(guān)聯(lián)。這可以基于固定模式數(shù)據(jù)中的與頁面大小等效的多個部 分?jǐn)?shù)據(jù)相同這樣的特性來實(shí)現(xiàn)。在接收用于讀取對應(yīng)邏輯區(qū)域的數(shù)據(jù)的讀取請求的情況 下,基于在一個記錄的數(shù)據(jù)模式ll〇f中存儲的模式數(shù)據(jù)創(chuàng)建固定模式數(shù)據(jù)的一個頁面,并 且基于多個記錄創(chuàng)建整個固定模式數(shù)據(jù)。
[0274] 在步驟S104之后,F(xiàn)M控制器20結(jié)束該過程。
[0275] 圖42示出根據(jù)實(shí)施例的固定模式數(shù)據(jù)寫入過程的第三示例的流程圖的示例。
[0276] 固定模式數(shù)據(jù)寫入過程的第三示例是圖17中所示固定模式數(shù)據(jù)寫入過程。
[0277] 在本例中假設(shè)RAID控制器301發(fā)送寫入請求--該寫入請求包括通過劃分固定 模式數(shù)據(jù)1051而獲得的頁面大小的部分?jǐn)?shù)據(jù)和指示固定模式數(shù)據(jù)1051的總大小的大小信 息--作為用于將寫入數(shù)據(jù)的大小(例如24KB)的固定模式數(shù)據(jù)1051寫入到邏輯卷的區(qū) 域中的請求(具有固定模式數(shù)據(jù)指令的寫入請求)。因此,可以減少從RAID控制器301向 SSD400發(fā)送的數(shù)據(jù)量。
[0278] 在接收RAID控制器301發(fā)送的具有固定模式數(shù)據(jù)指令的寫入請求(步驟S111) 時,SSD400的閃存封裝10的FM控制器20查詢物理-邏輯轉(zhuǎn)換表111以搜尋空白頁面(步 驟S112)并且向獲得的空白頁面(寫入目的地共享頁面)寫入固定模式數(shù)據(jù)的與一個頁面 的大小等效的數(shù)據(jù)(步驟S113)。FM控制器20然后更新邏輯-物理轉(zhuǎn)換表110和物理-邏 輯轉(zhuǎn)換表111 (步驟S114)。
[0279] 更具體而言,F(xiàn)M控制器20基于在寫入請求中包括的大小信息指定寫入目標(biāo)邏輯 區(qū)域并且使得用于物理-邏輯轉(zhuǎn)換表111中的與屬于寫入目標(biāo)邏輯區(qū)域的邏輯地址關(guān)聯(lián)的 多個頁面(例如在本例中為三個頁面)對應(yīng)的記錄的狀態(tài)llld無效。作為結(jié)果,管理向?qū)?入目標(biāo)邏輯區(qū)域分配的多個頁面作為無效頁面。因此,防止在回收或者刷新時向其它頁面 復(fù)制頁面的該數(shù)據(jù),并且可以在后續(xù)塊擦除過程之后使用頁面作為空白頁面。在包括頁面 的塊的所有頁面為無效的情況下,然后擦除塊并且可以將塊的所有頁面改變成空白頁面。 以這一方式,可以迅速增加自由容量。
[0280] 另外,F(xiàn)M控制器20將物理-邏輯轉(zhuǎn)換表111中的與寫入目的地共享頁面對應(yīng)的 多個(在本例中為三個)記錄中的每個記錄的狀態(tài)llld設(shè)置成"有效"并且為記錄中的每 個記錄的邏輯地址llle對于通過根據(jù)頁面大小劃分寫入目標(biāo)邏輯區(qū)域而獲得的頁面中的 每個頁面設(shè)置邏輯地址。因而向一個頁面(寫入目的地共享頁面)分配并且管理通過根據(jù) 頁面大小劃分寫入目標(biāo)邏輯區(qū)域而獲得的部分區(qū)域。
[0281] FM控制器20也在與寫入目的地共享頁面對應(yīng)的值為邏輯-物理轉(zhuǎn)換表110中 的與指示寫入目標(biāo)邏輯區(qū)域的邏輯地址對應(yīng)的多個(在本例中為三個)記錄設(shè)置FM編號 110c、塊編號110d和頁面編號110f并且在數(shù)據(jù)模式110f中存儲用于指定固定模式數(shù)據(jù)的 模式數(shù)據(jù)(在本例中為"〇")。作為結(jié)果,可以從一個頁面(寫入目的地共享頁面)獲取在 寫入目標(biāo)邏輯區(qū)域中存儲的數(shù)據(jù)。這可以基于如下特性來實(shí)現(xiàn),即,固定模式數(shù)據(jù)中的與頁 面大小等效的多個部分?jǐn)?shù)據(jù)相同。
[0282] 圖43示出根據(jù)實(shí)施例的固定模式數(shù)據(jù)寫入過程的第四示例的流程圖的示例。
[0283] 固定模式數(shù)據(jù)寫入過程的第四示例是圖18中所示固定模式數(shù)據(jù)寫入過程。
[0284] 在本例中假設(shè)RAID控制器301發(fā)送寫入請求作為用于將寫入數(shù)據(jù)的大?。ɡ?24KB)的固定模式數(shù)據(jù)1051寫入到邏輯卷的區(qū)域中的請求(具有固定模式數(shù)據(jù)指令的寫入 請求),該寫入請求包括通過劃分固定模式數(shù)據(jù)1051而獲得的頁面大小的部分?jǐn)?shù)據(jù)和指示 固定模式數(shù)據(jù)1051的大小的大小信息。因此,可以減少從RAID控制器301向SSD400發(fā)送 的數(shù)據(jù)量。
[0285] 在接收RAID控制器301發(fā)送的具有固定模式數(shù)據(jù)指令的寫入請求(步驟S121) 時,SSD400的閃存封裝10的FM控制器20查詢物理-邏輯轉(zhuǎn)換表111以搜尋空白頁面并 且獲取空白頁面(寫入目的地共享頁面)(步驟S122)。FM控制器20然后更新邏輯-物理 轉(zhuǎn)換表110和物理-邏輯轉(zhuǎn)換表111 (步驟S123)。
[0286] 更具體而言,F(xiàn)M控制器20基于在寫入請求中包括的大小信息指定寫入目標(biāo)邏輯 區(qū)域并且使得用于物理-邏輯轉(zhuǎn)換表111中的與屬于寫入目標(biāo)邏輯區(qū)域的邏輯地址關(guān)聯(lián)的 多個頁面(例如在本例中為三個頁面)對應(yīng)的記錄的狀態(tài)llld無效。作為結(jié)果,管理向?qū)?入目標(biāo)邏輯區(qū)域分配的多個頁面作為無效頁面。因此,防止在回收或者刷新時向其它頁面 復(fù)制頁面的該數(shù)據(jù),并且可以在后續(xù)塊擦除過程之后使用頁面作為空白頁面。在包括頁面 的塊的所有頁面為無效的情況下,然后擦除塊并且可以將塊的所有頁面改變成空白頁面。 以這一方式,可以迅速增加自由容量。
[0287] 另外,F(xiàn)M控制器20將物理-邏輯轉(zhuǎn)換表111中的與寫入目的地共享頁面對應(yīng)的 多個(在本例中為三個)記錄中的每個記錄的狀態(tài)llld設(shè)置成"有效"并且為記錄中的每 個記錄的邏輯地址llle對于通過根據(jù)頁面大小劃分寫入目標(biāo)邏輯區(qū)域而獲得的多個部分 區(qū)域中的每個部分區(qū)域設(shè)置邏輯地址。因而向一個頁面(寫入目的地共享頁面)分配并且 管理通過根據(jù)頁面大小劃分寫入目標(biāo)邏輯區(qū)域而獲得的多個部分區(qū)域。
[0288] FM控制器20也在與寫入目的地共享頁面對應(yīng)的值為邏輯-物理轉(zhuǎn)換表110中 的與指示寫入目標(biāo)邏輯區(qū)域的邏輯地址對應(yīng)的多個(在本例中為三個)記錄設(shè)置FM編號 110c、塊編號110d和頁面編號110f并且在數(shù)據(jù)模式110f中存儲用于指定固定模式數(shù)據(jù)的 模式數(shù)據(jù)(在本例中為"〇")。作為結(jié)果,在寫入目標(biāo)邏輯區(qū)域中存儲的數(shù)據(jù)可以與一個頁 面(寫入目的地共享頁面)關(guān)聯(lián)。這可以基于固定模式數(shù)據(jù)中的與頁面大小等效的多個部 分?jǐn)?shù)據(jù)相同這樣的特性來實(shí)現(xiàn)。在接收用于讀取對應(yīng)邏輯區(qū)域的數(shù)據(jù)的讀取請求的情況 下,基于在一個記錄的數(shù)據(jù)模式ll〇f中存儲的模式數(shù)據(jù)創(chuàng)建固定模式數(shù)據(jù)的一個頁面,并 且基于多個記錄創(chuàng)建整個固定模式數(shù)據(jù)。
[0289] 圖44示出根據(jù)實(shí)施例的取消映射過程的流程圖的示例。
[0290] 在接收RAID控制器301發(fā)送的取消映射請求(S131)時,SSD400的閃存封裝10 的FM控制器20基于取消映射請求1901的邏輯地址1902和數(shù)據(jù)長度1903的值指定對應(yīng) 邏輯地址的存儲區(qū)域范圍(無效化區(qū)域)(步驟S132)并且更新邏輯-物理轉(zhuǎn)換表110和 物理-邏輯轉(zhuǎn)換表111 (步驟S133)。
[0291] 更具體而言,F(xiàn)M控制器20將用于物理-邏輯轉(zhuǎn)換表111中的與指示屬于無效化 范圍的區(qū)域的邏輯地址關(guān)聯(lián)的多個記錄的狀態(tài)llld設(shè)置成"無效"。作為結(jié)果,管理屬于無 效化區(qū)域的多個頁面作為無效頁面。因此,防止在回收或者刷新時向其它頁面復(fù)制頁面的 該數(shù)據(jù),并且可以在后續(xù)塊擦除過程之后使用該頁面作為空白頁面。
[0292] FM控制器20還將用于邏輯-物理轉(zhuǎn)換表110中的與指示屬于無效化范圍的區(qū)域 的邏輯地址對應(yīng)的記錄的狀態(tài)llld設(shè)置成"無效"。因此,管理屬于無效化范圍的區(qū)域的邏 輯地址作為未被分配頁面的地址。
[0293] 這一取消映射請求過程可以將其中存儲非必需數(shù)據(jù)的頁面設(shè)置為無效頁面并且 在后續(xù)塊擦除過程之后使用這些頁面作為空白頁面。
[0294] 上文已經(jīng)描述一個實(shí)施例,本發(fā)明不限于此,并且可以進(jìn)行各種改變而未脫離本 發(fā)明的范圍。
[0295] 例如在以上描述的實(shí)施例中,采用NAND類型閃存作為非易失性半導(dǎo)體存儲器的 示例,但是非易失性半導(dǎo)體存儲器不限于此。例如非易失性半導(dǎo)體存儲器可以是相變存儲 器。
[0296] 另外,實(shí)施例已經(jīng)描述層間動態(tài)遷移和快照刪除過程作為其中在SSD400中生成 非必需數(shù)據(jù)的示例。然而,除了這一實(shí)施例之外,本發(fā)明可以應(yīng)用于其中生成非必需數(shù)據(jù)的 任何情形。
[0297] 此外,取代其中RAID控制器301向閃存封裝10傳輸固定模式數(shù)據(jù)或者部分?jǐn)?shù)據(jù) 的示例,可以發(fā)送固定模式數(shù)據(jù)被寫入到的寫入目的地區(qū)域的邏輯地址,并且FM控制器20 可以創(chuàng)建固定模式數(shù)據(jù)或者部分?jǐn)?shù)據(jù)并且將創(chuàng)建的數(shù)據(jù)寫入到向發(fā)送的邏輯地址指派的 區(qū)域分配的物理區(qū)域中。
[0298] 標(biāo)號列表
[0299] 1存儲系統(tǒng)
[0300] 10 閃存 PKG
[0301] 400 SSD
【權(quán)利要求】
1. 一種稱合到王機(jī)的存儲系統(tǒng),包括: 非易失性半導(dǎo)體存儲設(shè)備,所述非易失性半導(dǎo)體存儲設(shè)備包括由多個頁面配置的非易 失性半導(dǎo)體存儲器、存儲頁面管理信息的存儲介質(zhì)以及耦合到所述非易失性半導(dǎo)體存儲器 和所述存儲介質(zhì)的存儲器控制器,所述頁面管理信息指示每個頁面的狀態(tài);以及 存儲控制器,所述存儲控制器耦合到所述非易失性半導(dǎo)體存儲設(shè)備并且控制對基于所 述非易失性半導(dǎo)體存儲器的邏輯卷的訪問,其中 每個頁面的所述狀態(tài)包括有效和無效,所述有效意指所述頁面被分配給了所述邏輯 卷的區(qū)域并且具有存儲有的數(shù)據(jù),所述無效意指所述頁面未被分配給所述邏輯卷的所述區(qū) 域、但是具有在其中存儲的數(shù)據(jù),并且其中 在所述多個頁面中存儲的所述數(shù)據(jù)變成對所述主機(jī)為非必需的、而且這些多個頁面是 所述邏輯卷的所述區(qū)域的基礎(chǔ)的情況下,執(zhí)行下文描述的(A)和(B): (A) 所述存儲控制器傳輸用于減少頁面數(shù)目的非必需減少請求,所述頁面是具有在其 中存儲的所述非必需數(shù)據(jù)的所述區(qū)域的基礎(chǔ);以及 (B) 所述存儲器控制器基于所述非必需減少請求、針對所述頁面管理信息使所述多個 頁面無效,所述多個頁面是具有在其中存儲的所述非必需數(shù)據(jù)的所述區(qū)域的基礎(chǔ)。
2. 根據(jù)權(quán)利要求1所述的存儲系統(tǒng),其中: 所述頁面管理信息存儲所述頁面中的每個頁面與所述頁面被分配到的所述邏輯卷的 所述區(qū)域之間的對應(yīng)關(guān)系, 在以上描述的(A)中,所述存儲控制器傳輸用于向被分配了存儲有所述非必需數(shù)據(jù)的 所述多個頁面的所述邏輯卷的所述區(qū)域中寫入固定模式數(shù)據(jù)的寫入請求,作為所述非必需 數(shù)據(jù)頁面減少請求, 所述固定模式數(shù)據(jù)具有公共模式的多個部分?jǐn)?shù)據(jù),所述部分?jǐn)?shù)據(jù)的大小等于所述頁面 的大小,并且其中 在以上描述的(B)中,所述存儲器控制器: (bl)指定與所述寫入請求所指示的所述邏輯卷的所述區(qū)域關(guān)聯(lián)的多個頁面; (b2)針對所述頁面管理信息使指定的所述多個頁面無效; (b3)向與所述多個頁面不同的一個頁面中寫入所述固定模式數(shù)據(jù)的所述部分?jǐn)?shù)據(jù); 以及 (b4)針對所述頁面管理信息,將在所述邏輯卷的所述區(qū)域中的以頁面大小為單位的多 個區(qū)域與被寫入了所述部分?jǐn)?shù)據(jù)的所述一個頁面關(guān)聯(lián)。
3. 根據(jù)權(quán)利要求2所述的存儲系統(tǒng),還包括與所述非易失性半導(dǎo)體存儲設(shè)備不同的一 個或者多個其他存儲設(shè)備,其中 在所述其他存儲設(shè)備的區(qū)域被分配到所述非易失性半導(dǎo)體存儲設(shè)備的所述頁面中的 一個或者多個頁面被分配到的所述邏輯卷的所述區(qū)域的情況下,所述存儲系統(tǒng)在以上描述 的(A)中向具有多個頁面的非易失性存儲設(shè)備傳輸所述非必需減少請求,所述多個頁面是 所述邏輯卷的所述區(qū)域的基礎(chǔ)。
4. 根據(jù)權(quán)利要求2所述的存儲系統(tǒng),還包括快照卷,所述快照卷是代表主卷的快照的 虛擬邏輯卷,其中 在接收到用于刪除所述快照卷的請求時,所述存儲控制器對具有被分配到所述快照 卷并且是所述邏輯卷的所述區(qū)域的基礎(chǔ)的頁面的所述非易失性存儲設(shè)備執(zhí)行以上描述的 ㈧。
5. 根據(jù)權(quán)利要求2所述的存儲系統(tǒng),其中: 用于向被分配了存儲有所述非必需數(shù)據(jù)的所述多個頁面的所述邏輯卷的所述區(qū)域中 寫入所述固定模式數(shù)據(jù)的所述寫入請求包括所述固定模式數(shù)據(jù)的所述部分?jǐn)?shù)據(jù)和能夠用 來指定所述固定模式數(shù)據(jù)的大小的大小信息,所述固定模式數(shù)據(jù)具有公共模式的所述多個 部分?jǐn)?shù)據(jù), 每個部分?jǐn)?shù)據(jù)的大小等于所述頁面的大小,并且其中 在以上描述的(B)中,所述存儲器控制器基于所述大小信息,來指定由所述寫入請求 所指示的所述邏輯卷的區(qū)域的范圍并且指定與所述邏輯卷的指定的所述區(qū)域的范圍關(guān)聯(lián) 的多個頁面。
6. 根據(jù)權(quán)利要求1所述的存儲系統(tǒng),其中 所述頁面管理信息存儲所述頁面中的每個頁面與所述頁面被分配到的所述邏輯卷的 所述區(qū)域之間的對應(yīng)關(guān)系, 在以上描述的(A)中,所述存儲控制器傳輸用于向被分配了存儲有所述非必需數(shù)據(jù)的 所述多個頁面的所述邏輯卷的所述區(qū)域中寫入固定模式數(shù)據(jù)的寫入請求,作為所述非必需 減少請求,所述固定模式數(shù)據(jù)具有公共模式的多個部分?jǐn)?shù)據(jù), 每個部分?jǐn)?shù)據(jù)的大小等于所述頁面的大小,并且其中 在以上描述的(B)中,所述存儲器控制器: (bl)指定由所述寫入請求指示的并且與所述邏輯卷的所述區(qū)域關(guān)聯(lián)的多個頁面; (b2)針對所述頁面管理信息使指定的所述多個頁面無效;以及 (b3)將在所述邏輯卷的所述區(qū)域中的以頁面大小為單位的多個區(qū)域與不同于所述多 個頁面的一個頁面關(guān)聯(lián),并且將能夠用來指定所述固定模式數(shù)據(jù)的數(shù)據(jù)模式與所述一個頁 面關(guān)聯(lián)。
7. 根據(jù)權(quán)利要求6所述的存儲系統(tǒng),還包括與所述非易失性半導(dǎo)體存儲設(shè)備不同的一 個或者多個其他存儲設(shè)備,其中: 在所述其他存儲設(shè)備的區(qū)域被分配到所述邏輯卷的被分配了所述非易失性半導(dǎo)體存 儲設(shè)備的所述頁面中的一個或者多個頁面的所述區(qū)域的情況下,所述存儲系統(tǒng)在以上描述 的(A)中向具有多個頁面的非易失性存儲設(shè)備傳輸所述非必需減少請求,所述多個頁面是 所述邏輯卷的所述區(qū)域的基礎(chǔ)。
8. 根據(jù)權(quán)利要求6所述的存儲系統(tǒng),還包括快照卷,所述快照卷是代表主卷的快照的 虛擬邏輯卷,其中 在接收到用于刪除所述快照卷的請求時,所述存儲控制器對具有被分配到所述快照 卷并且是所述邏輯卷的所述區(qū)域的基礎(chǔ)的頁面的所述非易失性存儲設(shè)備執(zhí)行以上描述的 ㈧。
9. 根據(jù)權(quán)利要求6所述的存儲系統(tǒng),其中: 用于向被分配了存儲有所述非必需數(shù)據(jù)的所述多個頁面的所述邏輯卷的所述區(qū)域中 寫入所述固定模式數(shù)據(jù)的所述寫入請求包括所述固定模式數(shù)據(jù)的所述部分?jǐn)?shù)據(jù)和能夠用 來指定所述固定模式數(shù)據(jù)的大小的大小信息,所述固定模式數(shù)據(jù)具有公共模式的所述多個 部分?jǐn)?shù)據(jù), 每個部分?jǐn)?shù)據(jù)的大小等于所述頁面的大小,并且其中 在以上描述的(B)中,所述存儲器控制器基于所述大小信息指定由所述寫入請求所指 示的所述邏輯卷的區(qū)域的范圍并且指定與所述邏輯卷的指定的所述區(qū)域的范圍關(guān)聯(lián)的多 個頁面。
10. 根據(jù)權(quán)利要求1所述的存儲系統(tǒng),其中 所述頁面管理信息存儲所述頁面中的每個頁面與所述頁面被分配到的所述邏輯卷的 所述區(qū)域之間的對應(yīng)關(guān)系, 在以上描述的(A)中,所述存儲控制器傳輸包括范圍信息的取消映射請求作為所述非 必需減少請求,所述范圍信息指示被分配了存儲有所述非必需數(shù)據(jù)的所述多個頁面的所述 邏輯卷的區(qū)域的范圍,并且其中 在以上描述的(B)中,所述存儲器控制器基于在所述取消映射請求中包括的所述范圍 信息和所述頁面管理信息來指定屬于由所述范圍信息指示的所述區(qū)域的范圍的多個頁面, 并且針對所述頁面管理信息使指定的所述多個頁面無效。
11. 根據(jù)權(quán)利要求10所述的存儲系統(tǒng),還包括與所述非易失性半導(dǎo)體存儲設(shè)備不同的 一個或者多個其他存儲設(shè)備,其中 在所述其他存儲設(shè)備的區(qū)域被分配到所述邏輯卷的被分配了所述非易失性半導(dǎo)體存 儲設(shè)備的所述頁面中的一個或者多個頁面的所述區(qū)域的情況下,所述存儲系統(tǒng)在以上描述 的(A)中向具有多個頁面的非易失性存儲設(shè)備傳輸所述非必需減少請求,所述多個頁面是 所述邏輯卷的所述區(qū)域的基礎(chǔ)。
12. 根據(jù)權(quán)利要求10所述的存儲系統(tǒng),還包括快照卷,所述快照卷是代表主卷的快照 的虛擬邏輯卷,其中 在接收到用于刪除所述快照卷的請求時,所述存儲控制器對具有被分配到所述快照 卷并且是所述邏輯卷的所述區(qū)域的基礎(chǔ)的頁面的所述非易失性存儲設(shè)備執(zhí)行以上描述的 ㈧。
13. 根據(jù)權(quán)利要求1所述的存儲系統(tǒng),還包括與所述非易失性半導(dǎo)體存儲設(shè)備不同的 一個或者多個其他存儲設(shè)備,其中 在所述其他存儲設(shè)備的區(qū)域被分配到所述邏輯卷的被分配了所述非易失性半導(dǎo)體存 儲設(shè)備的所述頁面中的一個或者多個頁面的所述區(qū)域的情況下,所述存儲系統(tǒng)在以上描述 的(A)中向具有多個頁面的非易失性存儲設(shè)備傳輸所述非必需減少請求,所述多個頁面是 所述邏輯卷的所述區(qū)域的基礎(chǔ)。
14. 根據(jù)權(quán)利要求1所述的存儲系統(tǒng),還包括快照卷,所述快照卷是代表主卷的快照的 虛擬邏輯卷,其中 在接收到用于刪除所述快照卷的請求時,所述存儲控制器對具有被分配到所述快照 卷并且是所述邏輯卷的所述區(qū)域的基礎(chǔ)的頁面的所述非易失性存儲設(shè)備執(zhí)行以上描述的 ㈧。
15. -種用于耦合到主機(jī)的存儲系統(tǒng)的存儲控制方法,在其中在多個頁面中存儲的數(shù) 據(jù)變成對所述主機(jī)為非必需的而且所述多個頁面是基于包括由多個頁面配置的非易失性 半導(dǎo)體存儲器的所述非易失性半導(dǎo)體存儲設(shè)備的所述邏輯卷的區(qū)域的基礎(chǔ)的情況下, 所述方法包括:向所述非易失性半導(dǎo)體存儲設(shè)備傳輸用于減少頁面數(shù)目的非必需減少 請求,所述頁面是具有在其中存儲的所述非必需數(shù)據(jù)的所述區(qū)域的基礎(chǔ), 基于所述非必需減少請求,所述非易失性半導(dǎo)體存儲設(shè)備被配置為使所述多個頁面無 效,所述多個頁面是存儲有所述非必需數(shù)據(jù)的所述區(qū)域的基礎(chǔ)。
【文檔編號】G06F3/06GK104106038SQ201280069362
【公開日】2014年10月15日 申請日期:2012年3月13日 優(yōu)先權(quán)日:2012年3月13日
【發(fā)明者】鈴木進(jìn), 本間繁雄, 松井佑光 申請人:株式會社日立制作所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1