欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

中斷閃存清除程序的方法、控制器以及存儲設(shè)備與流程

文檔序號:11950040閱讀:321來源:國知局
中斷閃存清除程序的方法、控制器以及存儲設(shè)備與流程

本申請要求于2014年12月26日提交的申請?zhí)枮?2/096917的美國臨時申請的優(yōu)先權(quán),通過引用而包含該申請的全部內(nèi)容。

技術(shù)領(lǐng)域

本發(fā)明涉及一種閃存控制器,具體地,涉及中斷閃存清除程序的方法、控制器以及存儲設(shè)備。



背景技術(shù):

閃存是常規(guī)的非易失性數(shù)據(jù)的存儲設(shè)備,能夠?qū)ζ溥M(jìn)行電擦除和電編程。例如,NAND閃存通常適合應(yīng)用于內(nèi)存卡、USB閃存設(shè)備、固態(tài)硬盤(SSD)、嵌入式多媒體卡等中。

閃存的存儲陣列可以包括多個區(qū)塊,并且每個區(qū)塊包括多個頁面。當(dāng)所使用的區(qū)塊要作為空閑區(qū)塊被釋放時,在操作中必須擦除所使用區(qū)塊的所有頁面。閃存的清除程序的技術(shù)(即,通常被稱為“垃圾回收”)用于將位于不同區(qū)塊中的有效數(shù)據(jù)移動至空閑空間,從而能夠擦除僅包含無效數(shù)據(jù)的區(qū)塊或使其作為空閑區(qū)塊被釋放。



技術(shù)實現(xiàn)要素:

參考附圖,在下面的實施例中給出詳細(xì)的描述。

在典型的實施例中,提供了一種用于在主機(jī)和閃存間進(jìn)行接口連接的控制器。閃存包含多個數(shù)據(jù)區(qū)塊和多個空閑區(qū)塊??刂破靼ù鎯卧陀嬎銌卧?。計算單元配置用來執(zhí)行閃存的清除程序。在清除程序期間,一旦計算單元完成了將多個數(shù)據(jù)區(qū)塊中的源區(qū)塊的有效頁面復(fù)制到多個空閑區(qū)塊中的目標(biāo)區(qū)塊的空閑頁面上時,計算單元確定請求是否來自于主機(jī),如果從主機(jī)接收到請求,計算單元暫停清除程序并且響應(yīng)來 自于主機(jī)的請求,如果沒有接收到來自于主機(jī)的請求,計算單元繼續(xù)清除程序。

在另一個典型的實施例中,提供了一種適合于中斷閃存的清除程序的方法。閃存包含多個數(shù)據(jù)區(qū)塊和多個空閑區(qū)塊。該方法包括多個步驟:在清除程序期間一旦多個數(shù)據(jù)區(qū)塊中的源區(qū)塊的有效頁面已經(jīng)被復(fù)制到多個空閑區(qū)塊中的目標(biāo)區(qū)塊的空閑頁面上時,確定請求是否來自于主機(jī);如果從主機(jī)接收到請求,則暫停清除程序并且響應(yīng)來自于主機(jī)的請求,如果沒有接收到來自于主機(jī)的請求,則繼續(xù)清除程序。

在另一個典型的實施例中,提供了一種數(shù)據(jù)存儲設(shè)備。數(shù)據(jù)存儲設(shè)備包括閃存和控制器。閃存包含多個數(shù)據(jù)區(qū)塊和多個空閑區(qū)塊??刂破饔糜谠谥鳈C(jī)和閃存間進(jìn)行接口連接,并且控制器包括存儲單元和計算單元。計算單元配置用來執(zhí)行閃存的清除程序。在清除程序期間,一旦計算單元完成將多個數(shù)據(jù)區(qū)塊中的源區(qū)塊的有效頁面復(fù)制到多個空閑區(qū)塊中的目標(biāo)區(qū)塊的空閑頁面上時,計算單元確定請求是否來自于主機(jī),如果從主機(jī)接收到請求,計算單元暫停清除程序并且響應(yīng)來自于主機(jī)的請求,如果沒有接收到來自于主機(jī)的請求,計算單元繼續(xù)清除程序。

本發(fā)明通過以上方案,可以有效地進(jìn)行閃存清除。

附圖說明

通過閱讀下面的詳細(xì)描述和根據(jù)附圖所示出的例子,能夠更好地理解本發(fā)明,其中:

圖1是依據(jù)本發(fā)明實施例的電子設(shè)備的框圖;

圖2是依據(jù)本發(fā)明實施例的描述將源區(qū)塊的有效頁面復(fù)制到目標(biāo)區(qū)塊的空閑區(qū)塊的示意圖;

圖3A是清除期間響應(yīng)來自于主機(jī)的請求的常規(guī)方法的流程圖;

圖3B是清除期間響應(yīng)來自于主機(jī)的請求的另一個常規(guī)方法的流程圖;以及

圖4是根據(jù)本發(fā)明實施例的適合于中斷閃存清除程序的方法的流程圖。

具體實施方式

以下的描述為實施本發(fā)明的最佳的預(yù)期模式。該描述最適合于本發(fā)明的通用原則的描述且不受其限制。本發(fā)明的范圍參考所附的權(quán)利要求。

圖1是根據(jù)本發(fā)明的一實施例的電子設(shè)備的框圖。電子設(shè)備100可以包括主機(jī)110和數(shù)據(jù)存儲設(shè)備120。數(shù)據(jù)存儲設(shè)備120可以包括閃存130和控制器140,其中所述控制器140在主機(jī)110和閃存130間進(jìn)行接口連接,并且其根據(jù)來自于主機(jī)110的指令來控制對閃存130的訪問??刂破?40可以包括計算單元142和存儲單元144(例如,只讀存儲器(ROM))。存儲在存儲單元144中的程序代碼和數(shù)據(jù)可以是由計算單元142執(zhí)行的固件,所以控制器140可以基于固件控制閃存130。閃存130可以包括多個區(qū)塊,并且每個區(qū)塊包括多個頁面。

在實施例中,閃存130可以包括空閑區(qū)塊池150,和數(shù)據(jù)區(qū)塊池160??臻e區(qū)塊池150包括多個存儲無效數(shù)據(jù)的空閑區(qū)塊151~15n。數(shù)據(jù)區(qū)塊池160包括多個存儲數(shù)據(jù)的數(shù)據(jù)區(qū)塊161~16m。在一實施例中,控制器140可以根據(jù)來自于主機(jī)110的指令來管理閃存130的區(qū)塊。基于物理地址分配閃存130中的區(qū)塊,并且主機(jī)110可以基于邏輯地址分配區(qū)塊。因此,控制器140必須將來自于主機(jī)110的邏輯地址轉(zhuǎn)換為物理地址。在一實施例中,控制器140可以將邏輯地址和物理地址之間的關(guān)系記錄到一地址鏈表中。

在一實施例中,每個數(shù)據(jù)塊161~16m可以包括多個頁面。當(dāng)數(shù)據(jù)被存儲在數(shù)據(jù)區(qū)塊的頁面中,所述頁面可以被視為數(shù)據(jù)頁面。當(dāng)所述頁面具有相應(yīng)的邏輯地址,則該頁面可以被視為有效頁面。在一實施例中,控制器140可以計算每個數(shù)據(jù)區(qū)塊161~16m中有效頁面的總數(shù),以獲得有效頁面的數(shù)量,并且將數(shù)據(jù)區(qū)塊161~16m的有效頁面的數(shù)量記錄到有效數(shù)量的表中。此外,每個區(qū)塊的擦除計數(shù)可以代表該區(qū)塊上所執(zhí)行的擦除操作的數(shù)字。在一實施例中,控制器140可以將閃存130中各區(qū)塊的擦除計數(shù)記錄到一擦除計數(shù)表中。在一實施例中,閃存130可以進(jìn)一步包括有效數(shù)量表和擦除計數(shù)表(未在圖1中示出)。

在一實施例中,當(dāng)主機(jī)110連續(xù)地將數(shù)據(jù)寫入到數(shù)據(jù)存儲設(shè)備120中,閃存130的空閑區(qū)塊池150中有效空閑區(qū)塊的數(shù)量可能很小。當(dāng)空 閑區(qū)塊的數(shù)量低于閾值時,控制器140在閃存130上可以開始執(zhí)行一清除程序(即,通常被稱為垃圾回收)。

具體地,在開始執(zhí)行清除程序之前,控制器140必須確定來自數(shù)據(jù)區(qū)塊的清除源區(qū)塊,并且確定來自空閑區(qū)塊的清除目標(biāo)區(qū)塊。然而,如果所選擇的清除源區(qū)塊具有太多的有效頁面,在清除程序中所獲得的空閑區(qū)塊可能數(shù)量較少。最壞的情況是,控制器140必須在清除程序中執(zhí)行許多操作來獲得完整的空閑區(qū)塊,而導(dǎo)致數(shù)據(jù)存儲設(shè)備120的性能低下。

此外,當(dāng)一常規(guī)的閃存控制器執(zhí)行清除程序時,源區(qū)塊(即,數(shù)據(jù)區(qū)塊)中有效頁面的數(shù)據(jù)可以被復(fù)制到目標(biāo)區(qū)塊(即,空閑區(qū)塊)的空閑頁面上。例如,在一些常規(guī)的閃存控制器中,有效頁面的數(shù)據(jù)可能會被完整地復(fù)制到另一連續(xù)的空閑區(qū)塊中,并且常規(guī)的閃存控制器無法在清除程序期間響應(yīng)其他的請求。在一些其他的常規(guī)閃存控制器中,有效頁面的復(fù)制操作可能會由計時器以預(yù)定的時間周期中斷,所以常規(guī)的閃存控制器可以在從計時器接收到其達(dá)到預(yù)定時間周期的中斷信號后響應(yīng)其他請求。然而,上述的常規(guī)技術(shù)導(dǎo)致處理因主機(jī)110的中斷的響應(yīng)速度慢。

圖2是依據(jù)本發(fā)明一實施例描述將源區(qū)塊的有效頁面復(fù)制到目標(biāo)區(qū)塊的空閑區(qū)塊的示意圖。在實施例中,一旦控制器140已經(jīng)將源區(qū)塊的有效頁面復(fù)制到目標(biāo)區(qū)塊的空閑頁面上時,控制器140會檢查請求是否來自于主機(jī)110。由于閃存操作中的最小單元是“頁面”,由本發(fā)明的控制器140能夠保證處理請求的最快響應(yīng)時間。

例如,如圖2所示,控制器140將源區(qū)塊210的有效頁面212復(fù)制到目標(biāo)區(qū)塊230的空閑頁面232上,這里空白區(qū)塊表示有效頁面,而標(biāo)有斜線的區(qū)塊表示源區(qū)塊210中的無效頁面。對于目標(biāo)區(qū)塊230,所有的空白區(qū)塊是空閑頁面。當(dāng)控制器140已經(jīng)完成復(fù)制有效頁面212,控制器140會檢查是否有來自于主機(jī)110的請求。如果有,控制器140會暫停清除程序并且響應(yīng)來自于主機(jī)110的請求,因此響應(yīng)來自于主機(jī)110的請求的等待時間能夠最小化到復(fù)制有效頁面的持續(xù)時間。否則,控制器140繼續(xù)清除程序。應(yīng)當(dāng)注意的是,一旦控制器140已經(jīng)完成復(fù)制有效頁面, 例如有效頁面212、214、218和220,控制器140會檢查來自于主機(jī)110的請求。對于本領(lǐng)域的技術(shù)人員,應(yīng)了解頁面和區(qū)塊的尺寸會根據(jù)閃存130的設(shè)計而變化,并且控制器140響應(yīng)來自于主機(jī)110的請求的等待時間也會基于頁面的尺寸和數(shù)據(jù)傳送速度而變化。然而,與現(xiàn)有技術(shù)相比,響應(yīng)來自于主機(jī)110的請求的等待時間被顯著減少。

圖3A是清除期間響應(yīng)來自于主機(jī)的請求的常規(guī)方法的流程圖。如圖3A所示,在步驟S310中,常規(guī)的閃存控制器在清除程序期間將源區(qū)塊的有效頁面復(fù)制到目標(biāo)區(qū)塊的空閑頁面。在步驟S320中,常規(guī)的閃存控制器確定該有效頁面是否是源區(qū)塊的最后一個頁面。如果是,常規(guī)的閃存控制器停止清除程序。否則,執(zhí)行步驟S310。應(yīng)該注意的是,在圖3A的例子中,清除程序在有效頁面已經(jīng)被復(fù)制到目標(biāo)區(qū)塊之前不會被停止,導(dǎo)致響應(yīng)來自于主機(jī)的請求的長的等待時間。

圖3B是清除期間響應(yīng)來自于主機(jī)的請求的另一個常規(guī)方法的流程圖。如圖3B所示,在步驟S330中,常規(guī)的閃存控制器在清除程序期間將源區(qū)塊的有效頁面復(fù)制到目標(biāo)區(qū)塊的空閑頁面。在步驟S340中,常規(guī)的閃存控制器確定該有效頁面是否是源區(qū)塊的最后一個頁面。如果有效頁面是源區(qū)塊的最后一個頁面,常規(guī)的閃存控制器停止清除程序。如果有效頁面不是源區(qū)塊的最后一個頁面,則執(zhí)行步驟S350。在步驟S350中,常規(guī)的閃存控制器確定在清除程序期間是否已經(jīng)達(dá)到預(yù)定的時間周期。如果是,無論清除程序是否已經(jīng)完成,常規(guī)的閃存控制器都停止清除程序。否則,執(zhí)行步驟S330。應(yīng)當(dāng)注意的是,在預(yù)定的時間周期內(nèi),常規(guī)的閃存控制器會繼續(xù)將源區(qū)塊的有效頁面復(fù)制到目標(biāo)區(qū)塊。然而,預(yù)定的時間周期可以很長(例如,數(shù)百毫秒),導(dǎo)致響應(yīng)來自于主機(jī)的請求的長的等待時間。

圖4是根據(jù)本發(fā)明的實施例的適合于中斷閃存清除程序的方法的流程圖。如圖4所示,在步驟S410中,控制器140執(zhí)行清除程序并且將源區(qū)塊的有效頁面復(fù)制到目標(biāo)區(qū)塊的空閑頁面。在步驟S420中,控制器140確定所復(fù)制的源頁面是否是源區(qū)塊的最后一個有效頁面。如果是,控制器140暫停清除程序。否則,執(zhí)行步驟S430。在步驟S430中,控制器140確定請求是否來自于主機(jī)110。如果是,控制器140暫停清除程序。 否則,執(zhí)行步驟S410。應(yīng)當(dāng)注意的是,控制器在執(zhí)行由主機(jī)110請求的操作后會繼續(xù)清除程序,從而能夠有效地利用閃存的存儲空間。

在一個實施例中,提供了一種數(shù)據(jù)存儲設(shè)備。該數(shù)據(jù)存儲設(shè)備包括閃存和控制器。閃存包含多個數(shù)據(jù)區(qū)塊和多個空閑區(qū)塊??刂破鞯脑敿?xì)特性已經(jīng)在之前的段落中公開,將不再進(jìn)行描述。

綜上所述,提供了一種適合于中斷閃存清除程序的控制器及其方法。在清除程序期間,當(dāng)控制器已經(jīng)完成將源區(qū)塊的有效頁面復(fù)制到目標(biāo)區(qū)塊的空閑頁面上時,該控制器和方法能夠確定請求是否來自于主機(jī)。如果有來自于主機(jī)的請求,則控制器會中斷清除程序。

通過舉例以及根據(jù)優(yōu)選實施例對本發(fā)明進(jìn)行描述的同時,其應(yīng)被理解為本發(fā)明不受限于所公開的實施例。相反,其目的在于覆蓋多種變型和相似的布置(因為對本領(lǐng)域的技術(shù)人員來說是顯而易見的)。因此,附加的權(quán)利要求的范圍應(yīng)當(dāng)符合最寬泛的解釋以包括所有的這些變型和相似的布置。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
奉贤区| 宜都市| 怀来县| 阜阳市| 顺义区| 拜城县| 嵩明县| 大田县| 达孜县| 舞阳县| 泌阳县| 古丈县| 磴口县| 太保市| 五原县| 安义县| 从江县| 凤台县| 西宁市| 文安县| 庆元县| 敖汉旗| 崇阳县| 上虞市| 巨鹿县| 改则县| 凤庆县| 石柱| 泰来县| 苍溪县| 澄城县| 澄城县| 安多县| 肃南| 江永县| 平南县| 临潭县| 石泉县| 博野县| 农安县| 枞阳县|