專利名稱:使用固態(tài)盤(pán)的緩存系統(tǒng)和方法
技術(shù)領(lǐng)域:
本公開(kāi)涉及緩存系統(tǒng),以及更特別地涉及使用閃存的緩存系統(tǒng)。
背景技術(shù):
此處提供的背景描述的目的在于一般地提出本公開(kāi)的環(huán)境。目前命名發(fā)明人的工
作,在此背景部分描述的工作的程度上,以及所描述的方面可能不像提交時(shí)的現(xiàn)有技術(shù)一
樣獲得承認(rèn),當(dāng)現(xiàn)有技術(shù)與本公開(kāi)對(duì)立時(shí),本公開(kāi)不明確也不暗示承認(rèn)。 現(xiàn)在參考圖1,主機(jī)系統(tǒng)102可通過(guò)緩存系統(tǒng)106與存儲(chǔ)設(shè)備104通信。主機(jī)系統(tǒng)
102可包括計(jì)算機(jī)系統(tǒng),比如個(gè)人計(jì)算機(jī)、消費(fèi)類電子設(shè)備等。存儲(chǔ)設(shè)備104可包括硬盤(pán)驅(qū)
動(dòng)器(HDD)。 緩存系統(tǒng)106可作為存儲(chǔ)主機(jī)系統(tǒng)102從存儲(chǔ)設(shè)備104頻繁存取的數(shù)據(jù)的臨時(shí)存 儲(chǔ)區(qū)域。主機(jī)系統(tǒng)102可比從存儲(chǔ)設(shè)備104更快地從緩存系統(tǒng)106存取數(shù)據(jù)。因此,當(dāng)主 機(jī)系統(tǒng)102重復(fù)存取存儲(chǔ)在緩存系統(tǒng)106中的數(shù)據(jù)時(shí),緩存系統(tǒng)106可減少存取時(shí)間。然 而,當(dāng)主機(jī)系統(tǒng)102要求的數(shù)據(jù)沒(méi)有存儲(chǔ)在緩存系統(tǒng)106中時(shí),緩存系統(tǒng)106可不減少存取 時(shí)間。 緩存系統(tǒng)106包括控制模塊108和緩存存儲(chǔ)器110??刂颇K108從/向緩存存 儲(chǔ)器110和存儲(chǔ)設(shè)備104讀/寫(xiě)數(shù)據(jù)。主機(jī)系統(tǒng)102通過(guò)控制模塊108向存儲(chǔ)設(shè)備104請(qǐng) 求數(shù)據(jù)。控制模塊108從緩存存儲(chǔ)器110和存儲(chǔ)設(shè)備104之一檢索所請(qǐng)求的數(shù)據(jù)并將所請(qǐng) 求的數(shù)據(jù)發(fā)送給主機(jī)系統(tǒng)102。 控制模塊108確定所請(qǐng)求的數(shù)據(jù)是否存儲(chǔ)在緩存存儲(chǔ)器110中。當(dāng)控制模塊108 確定緩存存儲(chǔ)器110包括所請(qǐng)求的數(shù)據(jù)時(shí),控制模塊108可從緩存存儲(chǔ)器110檢索所請(qǐng)求 的數(shù)據(jù)。 當(dāng)緩存存儲(chǔ)器110沒(méi)有包括所請(qǐng)求的數(shù)據(jù)時(shí),控制模塊108可從存儲(chǔ)設(shè)備104檢 索所請(qǐng)求的數(shù)據(jù)。當(dāng)緩存存儲(chǔ)器110沒(méi)有包括所請(qǐng)求的數(shù)據(jù)時(shí),控制模塊108可將從存儲(chǔ) 設(shè)備104檢索到的數(shù)據(jù)存儲(chǔ)在緩存存儲(chǔ)器110中。 控制模塊108可比從存儲(chǔ)設(shè)備104更快地從緩存存儲(chǔ)器110中檢索所請(qǐng)求的數(shù) 據(jù)。例如,當(dāng)緩存存儲(chǔ)器110是動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)并且存儲(chǔ)設(shè)備104是HDD時(shí), 控制模塊108可比HDD更快地訪問(wèn)DRAM。因此,對(duì)主機(jī)系統(tǒng)102,緩存系統(tǒng)106可起到減小 數(shù)據(jù)檢索時(shí)間的作用。 主機(jī)系統(tǒng)102可命令寫(xiě)入緩存存儲(chǔ)器110和存儲(chǔ)設(shè)備104中的至少一個(gè)。控制模 塊108可響應(yīng)寫(xiě)命令而將數(shù)據(jù)寫(xiě)入緩存存儲(chǔ)器110,隨后將數(shù)據(jù)寫(xiě)入存儲(chǔ)設(shè)備104。因此, 當(dāng)主機(jī)系統(tǒng)102命令寫(xiě)入存儲(chǔ)設(shè)備104時(shí),緩存系統(tǒng)106可作為緩沖器??刂颇K108也可以響應(yīng)于寫(xiě)命令并行地將數(shù)據(jù)都寫(xiě)入存儲(chǔ)設(shè)備104和緩存存儲(chǔ)器110。因此,緩存系統(tǒng) 106可將寫(xiě)入存儲(chǔ)設(shè)備104的數(shù)據(jù)緩存到緩存存儲(chǔ)器110中。
發(fā)明內(nèi)容
系統(tǒng)包括控制模塊、位置描述模塊和頁(yè)面失效模塊。所述控制模塊配置成將從主
機(jī)系統(tǒng)接收到的數(shù)據(jù)寫(xiě)入存儲(chǔ)介質(zhì),從所述存儲(chǔ)介質(zhì)讀取數(shù)據(jù),以及將來(lái)自所述主機(jī)系統(tǒng)
和所述存儲(chǔ)介質(zhì)中的至少一個(gè)的數(shù)據(jù)緩存到閃存中。所述位置描述模塊配置成將有效狀態(tài)
和無(wú)效狀態(tài)之一映射到所述閃存中的數(shù)據(jù)子集的物理位置。所述頁(yè)面失效模塊配置成接收
命令,所述命令包括對(duì)應(yīng)于所述子集的地址和將所述子集的物理位置的狀態(tài)設(shè)置為無(wú)效狀
態(tài)的指令。所述頁(yè)面失效模塊還配置成響應(yīng)于所述命令而將所述子集的物理位置的狀態(tài)設(shè)
置為所述無(wú)效狀態(tài)。所述命令接收自所述主機(jī)系統(tǒng)和所述控制模塊之一。 在其他特征中,所述存儲(chǔ)介質(zhì)包括磁性存儲(chǔ)介質(zhì)和光存儲(chǔ)介質(zhì)之一 。 在其他特征中,所述閃存包括NAND閃存。 在其他特征中,所述系統(tǒng)還包括位置映射模塊,所述位置映射模塊配置成將所述
子集的物理位置映射到邏輯地址。所述邏輯地址對(duì)應(yīng)于所述存儲(chǔ)介質(zhì)上的物理位置。 在其他特征中,所述位置映射模塊包括使所述子集的物理位置與所述邏輯地址相
關(guān)的映射。當(dāng)所述頁(yè)面失效模塊將所述子集的物理位置的狀態(tài)設(shè)置為所述無(wú)效狀態(tài)時(shí),所
述位置映射模塊更新所述映射以指示沒(méi)有數(shù)據(jù)存儲(chǔ)在所述邏輯地址處。 在其他特征中,所述系統(tǒng)還包括碎片整理模塊,所述碎片整理模塊配置成對(duì)包括
所述子集的所述閃存的塊進(jìn)行碎片整理。所述頁(yè)面失效模塊響應(yīng)于所述命令而將所述子集
的物理位置的所述狀態(tài)設(shè)置為所述無(wú)效狀態(tài)。 在又一些其他特征中,一種方法包括將從主機(jī)系統(tǒng)接收到的數(shù)據(jù)寫(xiě)入存儲(chǔ)介質(zhì), 從所述存儲(chǔ)介質(zhì)讀取數(shù)據(jù),以及將來(lái)自所述主機(jī)系統(tǒng)和所述存儲(chǔ)介質(zhì)中的至少一個(gè)的數(shù)據(jù) 緩存到閃存中。所述方法還包括將有效狀態(tài)和無(wú)效狀態(tài)之一映射到所述閃存中的數(shù)據(jù)的 子集的物理位置。所述方法還包括接收命令,所述命令包括對(duì)應(yīng)于所述子集的地址和將所 述子集的物理位置的狀態(tài)設(shè)置為所述無(wú)效狀態(tài)的指令。此外,所述方法包括響應(yīng)于所述命 令而將所述子集的物理位置的所述狀態(tài)設(shè)置為所述無(wú)效狀態(tài)。所述命令接收自所述主機(jī)系 統(tǒng)和控制模塊之一。 在其他特征中,所述方法包括從磁性存儲(chǔ)介質(zhì)和光存儲(chǔ)介質(zhì)之一讀取數(shù)據(jù)。
在其他特征中,所述方法包括將數(shù)據(jù)從所述主機(jī)系統(tǒng)和所述存儲(chǔ)介質(zhì)中的至少 一個(gè)緩存到NAND閃存中。 在其他特征中,所述方法包括將所述子集的物理位置映射到對(duì)應(yīng)于所述存儲(chǔ)介 質(zhì)上的物理位置的邏輯地址。 在其他特征中,所述方法包括當(dāng)將所述子集的物理位置的所述狀態(tài)設(shè)置為所述 無(wú)效狀態(tài)時(shí),更新映射以指示沒(méi)有數(shù)據(jù)存儲(chǔ)在所述邏輯地址處。
在其他特征中,所述方法包括對(duì)包括所述子集的所述閃存的塊進(jìn)行碎片整理,以
及響應(yīng)于所述命令而將所述子集的物理位置的所述狀態(tài)設(shè)置為所述無(wú)效狀態(tài)。 在又一些其他特征中,上述系統(tǒng)和方法由一個(gè)或多個(gè)處理器執(zhí)行的計(jì)算機(jī)程序?qū)?br>
現(xiàn)。所述計(jì)算機(jī)程序可存在于計(jì)算機(jī)可讀介質(zhì)上,比如但不限于存儲(chǔ)器、非易失性數(shù)據(jù)存儲(chǔ)器和/或其它合適的有形存儲(chǔ)介質(zhì)。 根據(jù)詳細(xì)描述、權(quán)利要求以及附圖,本公開(kāi)的適用性的更多方面將變得明顯。詳細(xì) 描述和特定例子僅是用于說(shuō)明的目的,而不是用來(lái)限制本公開(kāi)的范圍。
從詳細(xì)描述以及附圖,本公開(kāi)將被更全面地理解,其中
圖1是緩存系統(tǒng)的功能框圖;
圖2是閃存系統(tǒng)的功能框圖; 圖3是包括閃存(flash)管理模塊的閃存系統(tǒng)的功能框圖;
圖4是閃存的塊和頁(yè)面布置的圖示; 圖5A是閃存的邏輯塊地址(LBA)到物理位置映射的圖示; 圖5B是閃存的物理位置描述表的圖示; 圖6是根據(jù)本公開(kāi)的閃存緩存系統(tǒng)的功能框圖; 圖7是根據(jù)本公開(kāi)的包括頁(yè)面失效模塊的閃存緩存系統(tǒng)的功能框圖;
圖8是緩存地址表的圖;以及 圖9示出了根據(jù)本公開(kāi)的用于使閃存的物理位置失效的方法。
具體實(shí)施例方式
下面的詳述在性質(zhì)上僅是示范性的,且絕不是為了限制本公開(kāi)、其應(yīng)用或用途。為 了清楚,圖中將使用相同的標(biāo)號(hào)來(lái)標(biāo)識(shí)相同的元件。如此處所使用的,詞組"A、 B和C中的 至少一個(gè)"將被使用非排他性的邏輯或(OR)而被解釋為表述邏輯(A或B或C)。應(yīng)當(dāng)理解, 方法中的步驟可以以不同順序執(zhí)行而不改變本公開(kāi)的原理。 如此處所使用的,術(shù)語(yǔ)模塊可以指,部分的或者包括專用集成電路(ASIC)、電子電 路、處理器(共享的、專用的或組)和/或存儲(chǔ)器(共享的、專用的或組),來(lái)執(zhí)行一個(gè)或多 個(gè)軟件或固件程序、組合邏輯電路和/或其他提供所描述功能的合適的組件。
現(xiàn)在參考圖2,主機(jī)系統(tǒng)102可通過(guò)接口 101與閃存系統(tǒng)202通信。主機(jī)系統(tǒng)102 可包括計(jì)算機(jī)、多媒體設(shè)備、移動(dòng)計(jì)算設(shè)備等。例如,接口 101可包括高級(jí)技術(shù)附接(ATA) 接口、串行ATA(SATA)接口等。 閃存系統(tǒng)202包括閃存管理模塊206、存儲(chǔ)器208和閃存210。主機(jī)系統(tǒng)102通過(guò) 閃存管理模塊206從/向閃存210讀/寫(xiě)數(shù)據(jù)。主機(jī)系統(tǒng)102可使用邏輯塊尋址(LBA)方 案與閃存管理模塊206通信。LBA方案中指定的地址可被稱為"邏輯地址"。此外,主機(jī)系 統(tǒng)102可在邏輯地址上、從閃存210請(qǐng)求數(shù)據(jù)。例如,邏輯地址可記為L(zhǎng)BA 1、 LBA 2等。
閃存210可包括多個(gè)閃存芯片211。閃存210可包括與非(NAND)閃存和或非(NOR) 閃存中的至少一種。閃存管理模塊206從/向閃存210讀/寫(xiě)數(shù)據(jù)。此外,閃存管理模塊 206在閃存210上執(zhí)行其他操作。其他操作可包括擦除閃存210的某些部分和對(duì)閃存210 進(jìn)行碎片整理(defragment)。 當(dāng)擦除閃存210和當(dāng)整理閃存210的碎片時(shí),閃存管理模塊206可將數(shù)據(jù)從閃存 210存儲(chǔ)到存儲(chǔ)器208中。閃存管理模塊206可將數(shù)據(jù)緩沖在存儲(chǔ)器208中。例如,閃存管 理模塊206可在存儲(chǔ)器208中緩沖要被寫(xiě)入閃存210中的數(shù)據(jù)。閃存管理模塊206也可在存儲(chǔ)器208中緩沖從閃存210讀取的數(shù)據(jù),該數(shù)據(jù)隨后被轉(zhuǎn)移到主機(jī)系統(tǒng)102中。
現(xiàn)在參考圖3,閃存管理模塊206包括閃存控制模塊302、讀/寫(xiě)(R/W)模塊304、 擦除模塊306、位置映射模塊308、位置描述模塊310和碎片整理模塊312。
閃存控制模塊302向/從主機(jī)系統(tǒng)102發(fā)送/接收數(shù)據(jù)。閃存控制模塊302指示 讀/寫(xiě)(R/W)模塊304從/向閃存210讀/寫(xiě)數(shù)據(jù)。閃存控制模塊302指示擦除模塊306 從閃存210擦除數(shù)據(jù)。閃存控制模塊302指示位置映射模塊308將邏輯地址映射到閃存 210中的數(shù)據(jù)的物理位置。閃存控制模塊302指示位置描述模塊310映射閃存210中的數(shù) 據(jù)的有效性。閃存控制模塊302通過(guò)碎片整理模塊312執(zhí)行閃存210上的碎片整理操作。
現(xiàn)在參考圖4,示出了閃存210的塊和頁(yè)面布置的示范性圖示。閃存210包括n個(gè) 擦除塊(下文簡(jiǎn)稱"塊")。每個(gè)塊包括m個(gè)頁(yè)面。僅舉例,塊的大小可以為256KB到512KB 以及頁(yè)面大小可以為4KB。因此,塊可包括64-128個(gè)頁(yè)面。 擦除模塊306以塊為單位從閃存210中擦除數(shù)據(jù)。例如,當(dāng)從閃存210中擦除數(shù) 據(jù)時(shí),擦除模塊306擦除一個(gè)或多個(gè)塊。 讀/寫(xiě)模塊304以頁(yè)面為單位從/向閃存210讀/寫(xiě)數(shù)據(jù)。因此,當(dāng)從/向閃存 210讀/寫(xiě)數(shù)據(jù)時(shí),讀/寫(xiě)模塊304從/向一個(gè)或多個(gè)頁(yè)面讀/寫(xiě)數(shù)據(jù)。讀/寫(xiě)模塊304可 在頁(yè)面擦除后向該頁(yè)面寫(xiě)數(shù)據(jù)。當(dāng)頁(yè)面包括先前寫(xiě)入的數(shù)據(jù)時(shí),直到擦除模塊306擦除頁(yè) 面后,讀/寫(xiě)模塊304才能向該頁(yè)面寫(xiě)數(shù)據(jù)。 在擦除模塊306擦除塊后,讀/寫(xiě)模塊304可最初順序地向塊中的頁(yè)面寫(xiě)入。例 如,在塊1被擦除后,讀/寫(xiě)模塊304可自塊1的頁(yè)面1開(kāi)始向閃存210寫(xiě)數(shù)據(jù),并且向每 個(gè)連續(xù)頁(yè)面寫(xiě)數(shù)據(jù),直到塊1的頁(yè)面m。 讀/寫(xiě)模塊304可不向塊中包括數(shù)據(jù)的頁(yè)面之前的塊中頁(yè)面寫(xiě)數(shù)據(jù)。例如,當(dāng)塊 的頁(yè)面20中已寫(xiě)入數(shù)據(jù)時(shí),讀/寫(xiě)模塊304可不向塊內(nèi)的頁(yè)面1-19寫(xiě)入。然而,讀/寫(xiě)模 塊304可在擦除模塊306擦除包括頁(yè)面1-19的塊之后,寫(xiě)入頁(yè)面1-19。
回到參考圖3,位置映射模塊308包括LBA到物理位置映射(下文簡(jiǎn)稱"位置映 射")。位置映射可將邏輯地址與閃存210中的物理位置相關(guān)聯(lián)。例如,位置映射將邏輯地 址與閃存210的塊編號(hào)和頁(yè)面編號(hào)相關(guān)聯(lián)。 當(dāng)讀/寫(xiě)模塊304向閃存210寫(xiě)數(shù)據(jù)時(shí),位置映射模塊308更新位置映射。閃存 控制模塊302可接收向先前已被寫(xiě)入的邏輯地址寫(xiě)數(shù)據(jù)的命令。也就是說(shuō),閃存控制模塊 302可接收向同一邏輯地址寫(xiě)入的多個(gè)命令。由于在沒(méi)有首先擦除已寫(xiě)入數(shù)據(jù)時(shí),讀/寫(xiě) 模塊304不能覆寫(xiě)已被寫(xiě)入的物理位置處的數(shù)據(jù),讀/寫(xiě)模塊304向新的物理位置寫(xiě)數(shù)據(jù)。 位置映射模塊308更新位置映射以包括對(duì)應(yīng)邏輯地址的新的物理位置。
為更明確地描述向閃存210寫(xiě)數(shù)據(jù)的過(guò)程,向邏輯地址K寫(xiě)新數(shù)據(jù)可執(zhí)行如下。閃 存控制模塊302接收主機(jī)系統(tǒng)102的向LBA K寫(xiě)數(shù)據(jù)的命令。閃存控制模塊302指示讀/ 寫(xiě)模塊304向閃存210中的物理位置X寫(xiě)數(shù)據(jù)。例如,X可以是閃存控制器210中的下一 個(gè)可用的物理位置。之后讀/寫(xiě)模塊304寫(xiě)入物理位置X。之后位置映射模塊308更新位 置映射以使LBA K與物理位置X相關(guān)聯(lián)。因此,當(dāng)閃存控制模塊302從主機(jī)系統(tǒng)102接收 從LBA K讀取的要求時(shí),閃存控制模塊302通過(guò)讀/寫(xiě)模塊304從閃存210的物理位置X 處讀取。 現(xiàn)在參考圖5A,示出了位置映射的一個(gè)實(shí)施方式。位置映射將LBA1與(塊3,頁(yè)
7面20)的物理位置相關(guān)聯(lián)。位置映射將LBA 2與"無(wú)數(shù)據(jù)"相關(guān)聯(lián)。例如,"無(wú)數(shù)據(jù)"可指示 主機(jī)系統(tǒng)102尚未向LBA 2寫(xiě)數(shù)據(jù)和/或LBA 2不包括數(shù)據(jù)。 回到參考圖3,位置描述模塊310包括物理位置描述表(下文簡(jiǎn)稱"描述表")。描 述表指示了物理位置處的數(shù)據(jù)的狀態(tài)。數(shù)據(jù)的狀態(tài)可以是有效狀態(tài)和無(wú)效狀態(tài)之一。也就 是說(shuō),描述表指示了寫(xiě)在閃存210的物理位置處的數(shù)據(jù)是有效還是無(wú)效??梢砸皂?yè)面為單 位指示數(shù)據(jù)有效/無(wú)效。 最初寫(xiě)入對(duì)應(yīng)一邏輯地址的(即,擦除之后的)頁(yè)面的數(shù)據(jù)可以在描述表中被指 示為有效。當(dāng)新的數(shù)據(jù)寫(xiě)入對(duì)應(yīng)同一個(gè)邏輯地址的新的物理位置時(shí),位置描述模塊310更 新該描述表,以指示新的物理位置有效以及舊的物理位置無(wú)效。 在對(duì)同一個(gè)邏輯地址的連續(xù)寫(xiě)入之后更新描述表可執(zhí)行如下。讀/寫(xiě)模塊304對(duì) 應(yīng)邏輯地址向物理位置寫(xiě)數(shù)據(jù)。該物理位置處的數(shù)據(jù)在描述表中可最初被設(shè)置為有效。隨 后,當(dāng)讀/寫(xiě)模塊304對(duì)應(yīng)同一個(gè)邏輯地址在新的物理位置處寫(xiě)新的數(shù)據(jù)時(shí),新的物理位置 處的數(shù)據(jù)在描述表中被設(shè)置為有效。之后,先前物理位置處的數(shù)據(jù)被設(shè)置為無(wú)效。
現(xiàn)在參考圖5B,示出了描述表的一個(gè)實(shí)施方式。描述表指示物理位置(塊l,頁(yè)面 1)處的數(shù)據(jù)無(wú)效。也就是說(shuō),描述表將無(wú)效狀態(tài)映射到物理位置(塊l,頁(yè)面l)。描述表指 示物理位置(塊3,頁(yè)面20)處的數(shù)據(jù)有效。也就是說(shuō),描述表將有效狀態(tài)映射到物理位置 (塊3,頁(yè)面20)處。 回到參考圖3,由于讀/寫(xiě)模塊304不能覆寫(xiě)先前已寫(xiě)的頁(yè)面,讀/寫(xiě)模塊304可 能用完物理位置而無(wú)法在閃存210中寫(xiě)數(shù)據(jù)。閃存管理模塊206整理閃存210的碎片以釋 放閃存210中的物理位置以進(jìn)行寫(xiě)入。閃存管理模塊206可基于閃存210的塊內(nèi)的無(wú)效頁(yè) 面的編號(hào)釋放物理位置。 閃存管理模塊206整理閃存210的碎片以釋放至少一個(gè)塊。碎片整理模塊312可 基于每個(gè)塊內(nèi)的一定數(shù)量的無(wú)效頁(yè)面選擇進(jìn)行碎片整理的塊組。因此,碎片整理模塊312 可選擇共同包括大于或等于一個(gè)塊的一定數(shù)量的無(wú)效頁(yè)面(比如m個(gè)頁(yè)面)的塊組。例如, 當(dāng)塊包括m個(gè)頁(yè)面時(shí),碎片整理模塊312選擇共同包括m個(gè)或更多個(gè)無(wú)效頁(yè)面的塊組。
閃存210的碎片整理可包括如下操作。碎片整理模塊312基于每個(gè)塊中的一定數(shù) 量的無(wú)效頁(yè)面選擇塊組進(jìn)行碎片整理。例如,碎片整理模塊312選擇具有最多無(wú)效頁(yè)面的 塊以形成塊組。閃存控制模塊302通過(guò)讀/寫(xiě)模塊304從閃存210中所選擇的塊組讀取有 效頁(yè)面。閃存控制模塊302從塊組向存儲(chǔ)器208寫(xiě)有效頁(yè)面。在讀/寫(xiě)模塊304向存儲(chǔ)器 208寫(xiě)有效頁(yè)面后,擦除模塊306擦除該塊組。 讀/寫(xiě)模塊304將有效頁(yè)面寫(xiě)入閃存210中的已擦除的塊組。例如,讀/寫(xiě)模塊 304可順序地將有效頁(yè)面寫(xiě)入閃存210。由于塊組中的無(wú)效頁(yè)面的數(shù)目大于m,閃存210在 碎片整理操作后可包括一個(gè)或多個(gè)已完全擦除的塊。位置映射模塊308在碎片整理操作后 更新位置映射。位置描述模塊310在碎片整理操作后更新描述表。 用于執(zhí)行碎片整理操作的時(shí)間和資源可取決于閃存210中的無(wú)效頁(yè)而的數(shù)目。通 常,碎片整理過(guò)程涉及在閃存210和存儲(chǔ)器208之間轉(zhuǎn)移較多的有效頁(yè)面,這需要比轉(zhuǎn)移較 少有效頁(yè)面的時(shí)間和資源更多。因此,閃存210中的每個(gè)塊的更多的無(wú)效頁(yè)面可導(dǎo)致使用 更少時(shí)間和資源的更優(yōu)化的碎片整理操作。 也就是說(shuō),閃存210中的更多無(wú)效頁(yè)面可導(dǎo)致如下的碎片整理操作,其包括較少
8地搜索包括最多無(wú)效頁(yè)面,以及在閃存210和存儲(chǔ)器208之間的更少的數(shù)據(jù)轉(zhuǎn)移。在某些 情況下,單個(gè)的塊可包括所有無(wú)效頁(yè)面,允許擦除該塊而無(wú)任何數(shù)據(jù)轉(zhuǎn)移。在某些情況下, 例如,當(dāng)有兩個(gè)塊每個(gè)塊包括m/2個(gè)無(wú)效頁(yè)面時(shí),碎片整理操作可通過(guò)只對(duì)兩個(gè)塊進(jìn)行碎 片整理釋放單個(gè)塊。 閃存210的碎片整理可以是影響作為緩存存儲(chǔ)器的閃存210的性能的存儲(chǔ)器密集 處理。也就是說(shuō),碎片整理使用資源對(duì)閃存210中的數(shù)據(jù)重新排序,而不提高主機(jī)系統(tǒng)102 接收所請(qǐng)求的數(shù)據(jù)的速度。 根據(jù)本公開(kāi)的閃存緩存系統(tǒng)使閃存210的頁(yè)面失效,以減少用于執(zhí)行碎片整理操 作的時(shí)間和資源。閃存緩存系統(tǒng)可因此減小用于執(zhí)行碎片整理操作的時(shí)間和資源的總量。
現(xiàn)在參考圖6,在閃存緩存系統(tǒng)600中實(shí)現(xiàn)閃存系統(tǒng)202。閃存緩存系統(tǒng)600包括 硬盤(pán)驅(qū)動(dòng)組件(HDA)601和硬盤(pán)驅(qū)動(dòng)器控制系統(tǒng)602。 HDA 601包括磁介質(zhì)603,例如, 一個(gè) 或多個(gè)存儲(chǔ)數(shù)據(jù)的磁盤(pán),以及讀/寫(xiě)設(shè)備604。盡管閃存緩存系統(tǒng)600包括作為存儲(chǔ)設(shè)備的 HDA 601,但是,可用其它存儲(chǔ)設(shè)備代替HDA 601。例如,可用光存儲(chǔ)設(shè)備代替HDA 601。
布置在致動(dòng)器臂605上的讀/寫(xiě)設(shè)備604在磁介質(zhì)603上讀數(shù)據(jù)和寫(xiě)數(shù)據(jù)。HDA601 包括使磁介質(zhì)603旋轉(zhuǎn)的主軸馬達(dá)606和驅(qū)動(dòng)致動(dòng)器臂605的音圈馬達(dá)(VCM)607。
硬盤(pán)驅(qū)動(dòng)器控制系統(tǒng)602包括前置放大器608。前置放大器608在讀操作中放大 由讀/寫(xiě)設(shè)備604產(chǎn)生的信號(hào),并在寫(xiě)操作中向讀/寫(xiě)設(shè)備604提供信號(hào)。硬盤(pán)驅(qū)動(dòng)器控 制系統(tǒng)602還包括讀/寫(xiě)(R/W)通道模塊609、硬磁盤(pán)控制器(HDC)模塊610、緩沖器611、 閃存系統(tǒng)202和主軸/VCM驅(qū)動(dòng)模塊614。 R/W通道模塊609處理從前置放大器608接收到的數(shù)據(jù)以及向前置放大器608傳 送的數(shù)據(jù)。HDC模塊610控制HDA 601的部件并通過(guò)接口 101與主機(jī)系統(tǒng)102通信。
HDC模塊610可從HDA 601、 R/W通道模塊609、緩沖器611、閃存系統(tǒng)202、主軸/ VCM驅(qū)動(dòng)模塊614和/或接口 101接收數(shù)據(jù)。HDC模塊610可對(duì)數(shù)據(jù)進(jìn)行處理,包括編碼、 解碼、濾波和/或格式化數(shù)據(jù)。處理后的數(shù)據(jù)可向HDA601 、 R/W通道模塊609 、緩沖器611 、 閃存系統(tǒng)202、主軸/VCM驅(qū)動(dòng)模塊614和/或接口 101輸出。 HDC模塊610可使用緩沖器611和/或閃存系統(tǒng)202來(lái)存儲(chǔ)與閃存緩存系統(tǒng)600 的控制和操作有關(guān)的數(shù)據(jù)。緩沖器611可包括動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DRAM)、同步動(dòng)態(tài)隨機(jī)存儲(chǔ) 器(SDRAM)等。主軸/VCM驅(qū)動(dòng)模塊614控制主軸馬達(dá)606和VCM 607。硬盤(pán)驅(qū)動(dòng)器控制系 統(tǒng)602包括供電電源616,其向閃存緩存系統(tǒng)600的組件供電。 HDC模塊610從/向閃存210和HDA 601讀/寫(xiě)數(shù)據(jù)。主機(jī)系統(tǒng)102可通過(guò)HDC 模塊610向HDA 601請(qǐng)求數(shù)據(jù)。例如,主機(jī)系統(tǒng)102可使用邏輯塊尋址方案向HDA 601請(qǐng) 求數(shù)據(jù)。HDC模塊610可從閃存210和HDA601之一接收所請(qǐng)求的數(shù)據(jù),并向主機(jī)系統(tǒng)102 發(fā)送所請(qǐng)求的數(shù)據(jù)。 由于閃存緩存系統(tǒng)600在閃存210中緩存數(shù)據(jù),因此閃存緩存系統(tǒng)600的閃存210 可被稱為緩存存儲(chǔ)器。例如,閃存緩存系統(tǒng)600可在閃存210中緩存從HDA 601讀取的數(shù) 據(jù),或緩存寫(xiě)入HDA 601的數(shù)據(jù)。 現(xiàn)在參考圖7,功能框圖示出HDC模塊610、閃存管理模塊206、主機(jī)系統(tǒng)102和HDA 601之間的交互。HDC模塊610包括緩存控制模塊702、內(nèi)容確定模塊704和頁(yè)面失效模塊 706。緩存控制模塊702根據(jù)緩存操作控制主機(jī)系統(tǒng)102、閃存210和HDA 601之間的數(shù)據(jù)傳輸。緩存控制模塊702通過(guò)閃存控制模塊302控制到/來(lái)自閃存210的數(shù)據(jù)傳輸。內(nèi)容 確定模塊704確定什么邏輯地址被存儲(chǔ)在閃存210中。頁(yè)面失效模塊706可例如根據(jù)緩存 操作在描述表中將閃存210的物理位置的狀態(tài)設(shè)置為無(wú)效的。 內(nèi)容確定模塊704確定閃存210是否包括主機(jī)系統(tǒng)102請(qǐng)求的在邏輯地址處的數(shù) 據(jù)。當(dāng)閃存210包括請(qǐng)求的在邏輯地址處的數(shù)據(jù)時(shí),緩存控制模塊702可從閃存210取回 所請(qǐng)求的數(shù)據(jù)。 在一些實(shí)現(xiàn)方式中,內(nèi)容確定模塊704包括緩存地址表,其包括存儲(chǔ)在閃存210中 的邏輯地址。緩存地址表使存儲(chǔ)在閃存210中的邏輯地址與閃存210的物理位置(例如, 塊偏移)相關(guān)。 在一些實(shí)現(xiàn)方式中,內(nèi)容確定模塊704可使用緩存地址表來(lái)確定閃存210中與邏 輯地址相對(duì)應(yīng)的物理位置。在其它實(shí)現(xiàn)方式中,內(nèi)容確定模塊704可根據(jù)在圖5A和5B中 示出的位置映射和描述圖來(lái)確定邏輯地址是否存儲(chǔ)在閃存210中,且邏輯地址存儲(chǔ)在閃存 210中的什么地方。因此,緩存地址表可結(jié)合或代替位置映射和描述圖使用,以確定邏輯地 址存儲(chǔ)在閃存的什么地方。當(dāng)新的信息被寫(xiě)到閃存210和從閃存210擦除時(shí),內(nèi)容確定模 塊704更新緩存地址表以反映存儲(chǔ)在閃存210中的數(shù)據(jù)。 現(xiàn)在參考圖8,示例性緩存地址表使邏輯地址與閃存210中的緩存的數(shù)據(jù)的位置 相關(guān)。緩存塊偏移列可指示閃存210中的數(shù)據(jù)的物理位置。例如,該表指示邏輯地址LBA 10位于緩存塊偏移32的物理位置處。 回來(lái)參考圖7,當(dāng)閃存210不包括所請(qǐng)求的數(shù)據(jù)時(shí),緩存控制模塊702從HDA 601 取回所請(qǐng)求的數(shù)據(jù)。當(dāng)閃存不包括所請(qǐng)求的數(shù)據(jù)時(shí),緩存控制模塊702可將從HDA 601取 回的數(shù)據(jù)存儲(chǔ)在閃存210中。當(dāng)從HDA601取回的數(shù)據(jù)存儲(chǔ)在閃存210中時(shí),位置映射模塊 308更新位置映射,位置描述模塊310更新描述表,而內(nèi)容確定模塊704更新緩存地址表。
換句話說(shuō),當(dāng)緩存控制模塊702可將數(shù)據(jù)從HDA 601傳輸?shù)街鳈C(jī)系統(tǒng)102時(shí),緩存 控制模塊702可將數(shù)據(jù)寫(xiě)到閃存210。因此,當(dāng)緩存控制模塊702接收對(duì)來(lái)自閃存210不包 括的邏輯地址的數(shù)據(jù)的請(qǐng)求時(shí),緩存控制模塊702可將來(lái)自HDA 601的數(shù)據(jù)"緩存數(shù)據(jù)"在 閃存210中。在一些實(shí)現(xiàn)方式中,緩存控制模塊702除了緩存附近邏輯地址的數(shù)據(jù)以外,還 緩存來(lái)自閃存210不包括的邏輯地址的數(shù)據(jù)。 閃存緩存系統(tǒng)600可比HDA 601更快地從閃存210取回所請(qǐng)求的數(shù)據(jù)。例如,當(dāng) 閃存210包括NAND閃存時(shí),NAND閃存在隨機(jī)讀取期間可比HDA 601被更快地存取。因此, 當(dāng)主機(jī)系統(tǒng)102從HDA 601請(qǐng)求數(shù)據(jù)時(shí),閃存緩存系統(tǒng)600起作用來(lái)減少主機(jī)系統(tǒng)102的 數(shù)據(jù)取回時(shí)間。 主機(jī)系統(tǒng)102可命令到閃存210和HDA 601中的至少一個(gè)的寫(xiě)入。緩存控制模塊 702在接收寫(xiě)入命令時(shí)可將數(shù)據(jù)寫(xiě)到HDA 601并將數(shù)據(jù)存儲(chǔ)在閃存210中。因此,閃存緩存 系統(tǒng)600緩存被寫(xiě)到HDA 601的數(shù)據(jù)。緩存控制模塊702可將數(shù)據(jù)寫(xiě)到閃存210并接著在 以后的時(shí)間將數(shù)據(jù)寫(xiě)到HDA601。因此,當(dāng)主機(jī)系統(tǒng)102命令到HDA 601的寫(xiě)入時(shí),閃存緩存 系統(tǒng)600可充當(dāng)緩沖器。 緩存控制模塊702根據(jù)各種緩存操作將數(shù)據(jù)寫(xiě)到閃存210。頁(yè)面失效模塊706根 據(jù)各種緩存操作在描述表中將閃存的物理位置的狀態(tài)設(shè)置為無(wú)效的。換句話說(shuō),頁(yè)面失效 模塊706根據(jù)緩存操作使閃存210的物理位置無(wú)效。頁(yè)面失效模塊706使描述表中的物理位置無(wú)效,以減少用于執(zhí)行碎片整理操作的時(shí)間和資源。 在一些實(shí)現(xiàn)方式中,頁(yè)面失效模塊706根據(jù)來(lái)自主機(jī)系統(tǒng)102的命令使描述表中 的物理位置無(wú)效。例如,主機(jī)系統(tǒng)102可通過(guò)緩存控制模塊702命令頁(yè)面失效模塊706使 描述表中的物理位置無(wú)效。該命令可包括與要無(wú)效的數(shù)據(jù)相對(duì)應(yīng)的地址(例如,LBA)和使 數(shù)據(jù)無(wú)效的指令。頁(yè)面失效模塊706向應(yīng)于該命令使數(shù)據(jù)無(wú)效。主機(jī)系統(tǒng)102可根據(jù)在主 機(jī)系統(tǒng)102執(zhí)行的緩存操作來(lái)命令頁(yè)面失效模塊706使描述表中的物理位置無(wú)效。
頁(yè)面失效模塊706以下列方式使相應(yīng)于邏輯地址的物理位置無(wú)效。頁(yè)面失效模塊 706根據(jù)位置映射確定相應(yīng)的邏輯地址的物理位置。頁(yè)面失效模塊706接著在描述表中將 物理位置的狀態(tài)設(shè)置為無(wú)效的。位置映射模塊308接著以"無(wú)數(shù)據(jù)"標(biāo)記位置映射中的相 應(yīng)的邏輯地址。 頁(yè)面失效模塊706使位置描述表中的頁(yè)無(wú)效,以便增加包括在閃存210中的無(wú)效 頁(yè)面的數(shù)量。因此,頁(yè)面失效模塊706通過(guò)增加閃存210中無(wú)效頁(yè)面的數(shù)量而減少了在碎 片整理操作期間使用的資源的量。 通常,緩存操作是包括確定哪些數(shù)據(jù)將存儲(chǔ)在閃存210中以及哪些數(shù)據(jù)將從閃存 210中擦除的操作。因?yàn)閿?shù)據(jù)以塊的單位被擦除且數(shù)據(jù)可按頁(yè)面的單位被寫(xiě)入,當(dāng)緩存控制 模塊702根據(jù)緩存操作確定了頁(yè)面應(yīng)從閃存210移除時(shí),緩存控制模塊702可以不擦除頁(yè) 面。替代地,緩存控制模塊702命令頁(yè)面失效模塊706使頁(yè)面失效,以便失效的頁(yè)面可以后 在碎片整理操作期間被擦除。 下文描述了各種緩存操作。緩存控制模塊702可執(zhí)行先進(jìn)先出(FIFO)緩存操作, 其中緩存控制模塊702用較新的數(shù)據(jù)代替閃存210中最舊的數(shù)據(jù)。例如,緩存控制模塊702 可命令頁(yè)面失效模塊706使閃存210中最舊的數(shù)據(jù)無(wú)效。緩存控制模塊702可接著擦除失 效的數(shù)據(jù)以在閃存210中為較新的數(shù)據(jù)騰出空間。 緩存控制模塊702可執(zhí)行最近最少使用的(LRU)緩存操作,其中緩存控制模塊702 丟棄最近最少使用的來(lái)自閃存210的數(shù)據(jù)。例如,緩存控制模塊702可命令頁(yè)面失效模塊 706使最近最少使用的來(lái)自閃存210的數(shù)據(jù)失效,所以最近最少使用的數(shù)據(jù)可被從閃存210 中擦除。 緩存控制模塊702可執(zhí)行最不經(jīng)常使用的(LFU)緩存操作,其中緩存控制模塊702 丟棄最不經(jīng)常使用的來(lái)自閃存210的數(shù)據(jù)。例如,緩存控制模塊702可命令頁(yè)面失效模塊 706使最不經(jīng)常使用的來(lái)自閃存210的數(shù)據(jù)失效,所以最不經(jīng)常使用的數(shù)據(jù)可被從閃存210 中擦除。 當(dāng)HDC模塊610執(zhí)行緩存操作中之一以便使數(shù)據(jù)失效并將數(shù)據(jù)寫(xiě)入閃存210中 時(shí),位置映射模塊308、位置描述模塊310和內(nèi)容確定模塊704相應(yīng)地更新相應(yīng)的表。雖然 上面描述了 FIFO、 LRU和LFU緩存操作,但是緩存控制模塊702可執(zhí)行其它緩存操作,以確 定使哪些物理位置無(wú)效。 在一些情況下,閃存210可能耗盡了數(shù)據(jù)將被寫(xiě)入的物理位置。當(dāng)沒(méi)有要寫(xiě)入的 更多可用頁(yè)面或可用頁(yè)面的數(shù)量小于閾值量時(shí),緩存控制模塊702可確定閃存210是滿的。 緩存控制模塊702可接著指示頁(yè)面失效模塊706使閃存210的物理位置失效。
現(xiàn)在參考圖9,用于使閃存的物理位置失效的方法在900開(kāi)始。在900, R/W模塊 304將數(shù)據(jù)寫(xiě)到閃存210。在902,位置映射模塊308根據(jù)被寫(xiě)到閃存210的數(shù)據(jù)來(lái)更新位置映射。在904,位置描述模塊310根據(jù)被寫(xiě)到閃存210的數(shù)據(jù)來(lái)更新描述表。在906,緩存控制模塊702根據(jù)緩存操作確定是否使數(shù)據(jù)無(wú)效。如果在906的結(jié)果為假,則該方法重復(fù)906。如果在906的結(jié)果為真,則該方法在908繼續(xù)進(jìn)行。在908,緩存控制模塊702命令頁(yè)面失效模塊706使數(shù)據(jù)無(wú)效。在910,頁(yè)面失效模塊706確定要無(wú)效的數(shù)據(jù)的物理位置(例如,根據(jù)位置映射)。在912,頁(yè)面失效模塊706在描述表中將數(shù)據(jù)的狀態(tài)設(shè)置為無(wú)效的,以使數(shù)據(jù)無(wú)效。在914,位置映射模塊308更新位置映射以指示物理位置包括"無(wú)數(shù)據(jù)"。 本公開(kāi)的廣泛教導(dǎo)可按各種形式實(shí)現(xiàn)。因此,雖然本公開(kāi)包括特定的例子,但本公開(kāi)的真實(shí)范圍不應(yīng)被如此限制,因?yàn)楫?dāng)研究附圖、說(shuō)明書(shū)和下列權(quán)利要求時(shí),其它更改將變得明顯。
權(quán)利要求
一種系統(tǒng),其包括控制模塊,其配置成將從主機(jī)系統(tǒng)接收到的數(shù)據(jù)寫(xiě)入存儲(chǔ)介質(zhì),從所述存儲(chǔ)介質(zhì)讀取數(shù)據(jù),以及將數(shù)據(jù)從所述主機(jī)系統(tǒng)和所述存儲(chǔ)介質(zhì)中的至少一個(gè)緩存到閃存中;位置描述模塊,其配置成將有效狀態(tài)和無(wú)效狀態(tài)之一映射到所述閃存中的數(shù)據(jù)的子集的物理位置;以及頁(yè)面失效模塊,其配置成接收命令,所述命令包括對(duì)應(yīng)于所述子集的地址和將所述子集的物理位置的狀態(tài)設(shè)置為所述無(wú)效狀態(tài)的指令;以及響應(yīng)于所述命令來(lái)將所述子集的所述物理位置的所述狀態(tài)設(shè)置為所述無(wú)效狀態(tài),其中所述命令接收自所述主機(jī)系統(tǒng)和所述控制模塊之一。
2. 如權(quán)利要求1所述的系統(tǒng),其中所述存儲(chǔ)介質(zhì)包括磁性存儲(chǔ)介質(zhì)和光存儲(chǔ)介質(zhì)之
3. 如權(quán)利要求1所述的系統(tǒng),其中所述閃存包括NAND閃存。
4. 如權(quán)利要求1所述的系統(tǒng),其中所述子集的所述物理位置對(duì)應(yīng)于所述閃存的塊和頁(yè)面。
5. 如權(quán)利要求1所述的系統(tǒng),還包括位置映射模塊,所述位置映射模塊配置成將所述子集的所述物理位置映射到邏輯地址,其中所述邏輯地址對(duì)應(yīng)于所述存儲(chǔ)介質(zhì)上的物理位置。
6. 如權(quán)利要求5所述的系統(tǒng),其中所述位置映射模塊包括使所述子集的所述物理位置與所述邏輯地址相關(guān)的映射,且其中當(dāng)所述頁(yè)面失效模塊將所述子集的所述物理位置的所述狀態(tài)設(shè)置為所述無(wú)效狀態(tài)時(shí),所述位置映射模塊更新所述映射以指示沒(méi)有數(shù)據(jù)存儲(chǔ)在所述邏輯地址處。
7. 如權(quán)利要求1所述的系統(tǒng),還包括碎片整理模塊,所述碎片整理模塊被配置為對(duì)包括所述子集的所述閃存的塊進(jìn)行碎片整理,其中所述頁(yè)面失效模塊響應(yīng)于所述命令而將所述子集的所述物理位置的所述狀態(tài)設(shè)置為所述無(wú)效狀態(tài)。
8. 如權(quán)利要求7所述的系統(tǒng),其中所述子集是第一子集,其中所述塊包括數(shù)據(jù)的第二子集和數(shù)據(jù)的第三子集,其中對(duì)應(yīng)于所述第二子集和所述第三子集的物理位置各自具有所述有效狀態(tài),且其中所述碎片整理模塊在對(duì)所述塊進(jìn)行碎片整理時(shí)擦除所述第一子集并將所述第二子集和所述第三子集寫(xiě)到新的物理位置。
9. 如權(quán)利要求1所述的系統(tǒng),其中當(dāng)從所述主機(jī)系統(tǒng)接收所述命令時(shí),所述地址是邏輯塊地址。
10. 如權(quán)利要求1所述的系統(tǒng),其中所述控制模塊是硬盤(pán)控制模塊,且所述存儲(chǔ)介質(zhì)是硬盤(pán)驅(qū)動(dòng)器。
11. 一種方法,包括將從主機(jī)系統(tǒng)接收到的數(shù)據(jù)寫(xiě)入存儲(chǔ)介質(zhì);從所述存儲(chǔ)介質(zhì)中讀取數(shù)據(jù);將來(lái)自所述主機(jī)系統(tǒng)和所述存儲(chǔ)介質(zhì)中的至少一個(gè)的數(shù)據(jù)緩存到閃存中;將有效狀態(tài)和無(wú)效狀態(tài)之一映射到所述閃存中的數(shù)據(jù)的子集的物理位置;接收命令,所述命令包括對(duì)應(yīng)于所述子集的地址和將所述子集的所述物理位置的狀態(tài)設(shè)置為所述無(wú)效狀態(tài)的指令;以及響應(yīng)于所述命令而將所述子集的所述物理位置的所述狀態(tài)設(shè)置為所述無(wú)效狀態(tài),其中所述命令從所述主機(jī)系統(tǒng)和控制模塊之一接收。
12. 如權(quán)利要求11所述的方法,其中所述存儲(chǔ)介質(zhì)包括磁性存儲(chǔ)介質(zhì)和光存儲(chǔ)介質(zhì)之
13. 如權(quán)利要求11所述的方法,其中所述閃存包括NAND閃存。
14. 如權(quán)利要求11所述的方法,還包括將所述子集的所述物理位置映射到邏輯地址,其中所述邏輯地址對(duì)應(yīng)于所述存儲(chǔ)介質(zhì)上的物理位置。
15. 如權(quán)利要求14所述的方法,還包括當(dāng)將所述子集的所述物理位置的所述狀態(tài)設(shè)置為所述無(wú)效狀態(tài)時(shí),更新一映射以指示沒(méi)有數(shù)據(jù)存儲(chǔ)在所述邏輯地址處,其中所述映射使所述子集的所述物理位置與所述邏輯地址相關(guān)。
16. 如權(quán)利要求11所述的方法,還包括對(duì)包括所述子集的所述閃存的塊進(jìn)行碎片整理;以及響應(yīng)于所述命令來(lái)將所述子集的所述物理位置的所述狀態(tài)設(shè)置為所述無(wú)效狀態(tài)。
全文摘要
本發(fā)明提供了使用固態(tài)盤(pán)的緩存系統(tǒng)和方法。一種包括控制模塊、位置描述模塊和頁(yè)面失效模塊的系統(tǒng)。所述控制模塊配置成將從主機(jī)接收到的數(shù)據(jù)寫(xiě)入存儲(chǔ)介質(zhì),從所述存儲(chǔ)介質(zhì)讀數(shù)據(jù),以及將來(lái)自所述主機(jī)和所述存儲(chǔ)介質(zhì)中的至少一個(gè)的數(shù)據(jù)緩存到閃存中。所述位置描述模塊配置成將有效和無(wú)效狀態(tài)之一映射到所述閃存中的數(shù)據(jù)子集的物理位置。所述頁(yè)面失效模塊配置成從所述主機(jī)和所述控制模塊之一接收命令,該命令包括對(duì)應(yīng)所述子集的地址以及將所述物理位置的狀態(tài)設(shè)置為無(wú)效狀態(tài)的指令。所述頁(yè)面失效模塊還配置成響應(yīng)所述命令,將所述物理位置的狀態(tài)設(shè)置為無(wú)效狀態(tài)。
文檔編號(hào)G06F12/10GK101782872SQ20101000403
公開(kāi)日2010年7月21日 申請(qǐng)日期2010年1月18日 優(yōu)先權(quán)日2009年1月16日
發(fā)明者瑞姆·基肖爾·卓赫瑞, 阿爾溫德·普魯茨 申請(qǐng)人:馬維爾國(guó)際貿(mào)易有限公司