国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      管理固態(tài)存儲器中垃圾收集的系統(tǒng)和方法

      文檔序號:6424247閱讀:168來源:國知局
      專利名稱:管理固態(tài)存儲器中垃圾收集的系統(tǒng)和方法
      管理固態(tài)存儲器中垃圾收集的系統(tǒng)和方法
      背景技術(shù)
      固態(tài)存儲器子系統(tǒng)在其正常操作中執(zhí)行多個命令。例如,對可能包含有效和無效數(shù)據(jù)的存儲器塊頻繁執(zhí)行垃圾收集。當(dāng)這種存儲器塊被選擇進行垃圾收集時,垃圾收集操作將存儲器塊內(nèi)的有效數(shù)據(jù)復(fù)制到存儲器中的新位置接著擦除整個存儲器塊,使整個塊可用于將來的數(shù)據(jù)寫入。因此,通過垃圾收集處理釋放的存儲器的量取決于被選擇進行垃圾收集的存儲器塊內(nèi)的無效頁面的量。


      下面將參照附圖描述體現(xiàn)本發(fā)明的各個特征的系統(tǒng)和方法,其中圖1是例示根據(jù)一個實施例的固態(tài)存儲子系統(tǒng)的框圖。圖2是例示根據(jù)一個實施例的維護固態(tài)存儲子系統(tǒng)內(nèi)的存儲器塊上的無效頁面信息的方法的流程圖。圖3是例示根據(jù)一個實施例的選擇存儲器塊進行垃圾收集的方法的流程圖。圖4例示根據(jù)一個實施例的使用無效塊和自由塊池以跟蹤進行垃圾收集的存儲器塊的示例。
      具體實施例方式盡管描述了本發(fā)明的特定實施例,這些實施例僅僅通過示例呈現(xiàn),而不意在限制本發(fā)明的范圍。實際上,此處描述的新穎方法和系統(tǒng)可以以各種其它形式實現(xiàn)。此外,可以對此處描述的方法和系統(tǒng)的形式進行各種省略、替換和改變而不背離本發(fā)明的精神。所附的權(quán)利要求和其等效體意在覆蓋將落入本發(fā)明的精神和范圍內(nèi)的這類形式或者修改。fiM本發(fā)明的實施例涉及優(yōu)化進行垃圾收集的存儲器塊的選擇以使垃圾收集操作釋放的存儲器的量最大化。此處公開的系統(tǒng)和方法提供最優(yōu)或者接近最優(yōu)垃圾收集候選塊的高效率選擇,最優(yōu)選擇定義為具有最多無效頁面的塊。在一個實施例中,控制器按照每個塊包含的無效頁面的量將存儲器塊分類到各個無效塊池。當(dāng)進行垃圾收集時,控制器從具有最大的無效頁面最小量的塊的非空池里選擇塊。這些池有助于以有效的方式最優(yōu)或者接近最優(yōu)選擇垃圾收集候選塊,并且池的數(shù)據(jù)結(jié)構(gòu)能夠用位掩碼實現(xiàn),其在存儲器中占用最小空間。盡管本公開描述了可應(yīng)用于塊的各個實施例,但實施例不被限制并且可應(yīng)用于存儲器的其它單元,諸如超塊。系統(tǒng)概括圖1是例示存儲子系統(tǒng)實施例的框圖。如圖所示,存儲子系統(tǒng)140包括控制器150, 所述控制器繼而包括主機命令隊列142、垃圾收集命令隊列144以及垃圾收集模塊148。在一個實施例中,主機命令隊列142從駐留在主機系統(tǒng)130中的驅(qū)動器132接收存儲器命令, 并且垃圾收集命令隊列144從管理垃圾收集的垃圾收集模塊148接收命令。在其它實施例中,來自驅(qū)動器132和垃圾收集模塊148的命令被接收到單個隊列以便執(zhí)行。來自驅(qū)動器132的存儲器命令可以包括由主機系統(tǒng)130發(fā)出的寫入和讀出命令,而來自垃圾收集模塊 148的存儲器命令可以包括用于垃圾收集的命令。如圖1進一步示出,在一個實施例中,控制器150對一個或多個非易失性固態(tài)存儲器陣列160執(zhí)行主機命令隊列142和垃圾收集命令隊列144中的命令。控制器150還維護若干數(shù)據(jù)結(jié)構(gòu),在一個實施例中,所述數(shù)據(jù)結(jié)構(gòu)包括無效頁面表152和映射表154。在一個實施例中,無效頁面表152保持跟蹤整個非易失性固態(tài)存儲器陣列160中位于物理頁面地址處的數(shù)據(jù)的有效性,而映射表巧4保持跟蹤非易失性存儲器陣列160中的邏輯塊地址(LBA)和物理頁面地址之間的對應(yīng)關(guān)系。在一個實施例中,其他數(shù)據(jù)結(jié)構(gòu)包括無效頁面計數(shù)器156、無效塊池162和自由池164。在一個實施例中,針對存儲器陣列160中的至少一些存儲器塊維護無效頁面計數(shù)器156。在一個實施例中,針對每個塊維護無效頁面計數(shù)器156并且該無效頁面計數(shù)器跟蹤關(guān)聯(lián)的塊內(nèi)的無效頁面的數(shù)量。在一個實施例中,無效頁面計數(shù)器156和/或無效頁面表152被存儲在動態(tài)隨機存取存儲器 (DRAM)中。在一個實施例中塊被分配到各個無效塊池162。例如,使用中的塊可以被分類到具有至少25%無效頁面的塊的池、具有至少50%無效頁面的塊的池、具有至少75%無效頁面的塊的池、或者具有100%無效頁面的塊的池??捎糜谛聦懭氲膲K被分類到自由池164。 在一個實施例中,涉及池分配的數(shù)據(jù)結(jié)構(gòu)被存儲在靜態(tài)隨機存取存儲器(SRAM)中。下面將進一步描述這些用于垃圾收集的數(shù)據(jù)結(jié)構(gòu)的使用和維護。維護存儲器塊的無效頁面數(shù)據(jù)圖2是例示根據(jù)一個實施例的用于維護存儲器塊上的無效頁面信息的方法200的流程圖。在框202,控制器150開始接收寫入命令(操作)以便執(zhí)行。寫入操作可以由主機系統(tǒng)130發(fā)出。在框204,控制器更新映射表IM作為執(zhí)行寫入操作的一部分。在一個實施例中,控制器通過以下來更新映射表,首先在映射表中定位寫入命令中的LBA的條目以確定對應(yīng)于LBA的物理頁面地址,接著用新數(shù)據(jù)被寫入的新物理頁面地址更新定位的條目。例如,寫入可以指向LBA 10,其在寫入操作之前被映射到塊5,頁面2。在實際寫入到存儲器以前,控制器更新映射表使LBA 10的條目對應(yīng)于數(shù)據(jù)將被寫入的新位置(例如塊12, 頁面4)。替換地,控制器可以在向存儲器實際寫入之后更新映射表。在框206,控制器確定是否需要對無效頁面表更新。在大多數(shù)情形下這是需要的,除非與寫入操作關(guān)聯(lián)的特定LBA 條目先前沒有被分配到任何物理地址。在以上示例中,由于塊5,頁面2現(xiàn)在是無效的,無效頁面表1 覆蓋塊5的部分需要被更新。如果需要更新,則方法進行到框208,其中控制器使針對有改變的塊的無效頁面計數(shù)器156遞增。接著在框210中,無效頁面表152被更新。在框212,控制器進行另一檢查以確定針對有改變的塊的頁面計數(shù)器是否跨過無效頁面閾值。如果已經(jīng)跨過閾值,則在框214,塊被重分配到新的池。遵循以上示例,如果無效頁面計數(shù)器指示塊5中的無效頁面的數(shù)量已經(jīng)在總共2048中增加到1024,則塊5從25% 無效池被重分配到50%無效池。在一個實施例中,處理來自主機的寫入操作的控制器處理在進行以上更新任務(wù)的同時獲得無效頁面計數(shù)器、無效頁面表和無效塊池數(shù)據(jù)結(jié)構(gòu)或者這些數(shù)據(jù)結(jié)構(gòu)的子集的鎖定(lock)。由于垃圾收集處理在操作中參照一些相同數(shù)據(jù)結(jié)構(gòu),因此鎖定這些數(shù)據(jù)結(jié)構(gòu)防止垃圾收集處理和其它內(nèi)部系統(tǒng)處理讀取過期的數(shù)據(jù)和執(zhí)行命令, 其將造成數(shù)據(jù)一致性問題。例如,在一個實施例中,當(dāng)使用無效頁面表來阻止即將發(fā)生的垃圾收集命令在被指示為包含無效信息的物理頁面地址上執(zhí)行時,在進行更新時將表鎖定確保正確地阻止嘗試寫入無效數(shù)據(jù)的垃圾收集命令根據(jù)更新信息執(zhí)行。在其它實施例中,各個更新步驟可以不同于圖2所示的順序執(zhí)行。使用無效頁面數(shù)據(jù)來詵擇講行垃圾收集的存儲器塊圖3是例示根據(jù)一個實施例的選擇進行垃圾收集的存儲器塊的方法的流程圖。在一個實施例中,方法300由控制器150執(zhí)行以選擇最優(yōu)或者接近最優(yōu)的候選塊以便垃圾收集。如以上討論的,最優(yōu)選擇包括選擇具有最大數(shù)目的無效頁面的塊以使由垃圾收集操作釋放的存儲器的量最大化。在圖3中,與各個池關(guān)聯(lián)的閾值百分比僅僅作為示例提供并且可以使用其它百分比。另外,在一個實施例中,根據(jù)非易失性存儲器陣列中提供的過度供給 (over-povisioning)(超過聲明容量的額外存儲)設(shè)定最低閾值百分比。例如,最低閾值百分比可以等于或者大于過度供給量,因為過度供給量與當(dāng)自由塊被耗盡時塊中的無效頁面的最小量相關(guān)。在例示的示例中,25%無效頁面的最低閾值對應(yīng)于示例存儲子系統(tǒng)中提供的25%過度供給。在其它實施例中,池的數(shù)目可以被設(shè)定為其它數(shù)目,并且最低閾值百分比可以高于或者低于過度供給百分比。在一個實施例中,至少一個池的閾值被設(shè)定為100%或者接近100%無效,以捕捉將在垃圾收集之后產(chǎn)生最大量的空間的塊。方法300開始于框302,這里控制器確定自由池中是否保留有足夠的塊以容納即將發(fā)生的寫入操作。如果確定自由池中沒有足夠的塊,則觸發(fā)垃圾收集,并且方法進入框 304,這里控制器確定在100%無效池中是否存在任何塊。如果是,則在框312中選擇來自該池的存儲器塊。如果不是,則在框306中控制器確定75%無效池中是否存在任何塊。如果是,則在框312中選擇來自該池的存儲器塊。如果在75%池中沒有發(fā)現(xiàn),則在框308中針對 50%無效池重復(fù)相同的過程。最終,如果在100^^75%或者50%池中沒有塊,則在框310 中從25%池中選擇塊。在本示例中25%池是默認池,并且期望包含至少一個塊,因為只有在框302中自由池被確定為耗盡時,才達到框310。這是因為當(dāng)沒有更多的自由塊時,25% 的過度供給確保至少一個具有至少25%無效頁面的塊。在框310或者312中所選擇的候選塊接著用在框314中的垃圾收集操作中。最終,盡管圖3示出選擇單個塊,其它實施例可以從一個或者多個池中一并選擇多個塊以便垃圾收集。例如,如果控制器確定垃圾收集需要 45個塊,并且在100%池中僅有10個塊并且在75%池中有41個塊,則控制器可以從100% 池中選擇10個并且從75%池中選擇其需要的剩余35個。多池數(shù)據(jù)結(jié)構(gòu)圖4例示根據(jù)一個實施例的無效塊池402的示例設(shè)定。如圖所示,示例塊0-7根據(jù)每個塊包含的無效頁面的數(shù)目分布在4個池402A-D中。如先前在圖3中所示,如果確定在自由池404中沒有足夠的塊,則控制器觸發(fā)垃圾收集。如果并且當(dāng)其發(fā)生時,塊7將被首先選擇進行垃圾收集,因為其屬于100%無效池。如果仍需要更多個塊進行垃圾收集,則在下一循環(huán)中控制器將從池402B (塊0、塊2或者塊幻中選擇任何塊,因為池402A現(xiàn)在為空并且池402B現(xiàn)在是具有最大的最小無效頁面閾值(至少75% )的非空池。在一個實施例中,為了實現(xiàn)速度優(yōu)化,被分配到具有多個塊的池的塊的選擇不取決于塊的無效頁面的實際百分比并且可以基于選擇處理的當(dāng)前位置選擇池中的候選塊或者可以隨機選擇塊。選擇處理可以以連續(xù)方式遍歷塊以定位分配到最大的非空池的下一可用塊。例如,如果選擇處理最后在塊1結(jié)束對候選塊的搜索,則將選擇塊2,因為在100%池中沒有更多的塊(塊7已經(jīng)被采用)并且塊2是該選擇處理中碰到的75%池中的第一個塊。由此,即使其具有比塊0或者塊5更低的百分比,從池402B中也選擇塊2。在下一循環(huán)中,隨著選擇處理從塊3提取,移動到塊4,并且找到塊5,塊5將被選擇,其為屬于75%池的下一個塊。在其它實施例中,可以進行額外的檢查和/或比較,使得可以選擇同一池中具有更大或者最大百分比的塊。在各個實施例中,一次選擇若干塊并且可以跨越不同的池(例如塊7可以與塊0、2、和5 —起選擇)。然而,在一些實施例中,選擇處理保持從具有最大的無效頁面最小量的塊的池到具有最小的無效頁面最小量的塊的池。盡管選擇處理從池中去除塊,其它存儲器操作可以使塊重分配到具有更大的無效頁面最小量的池或者如果塊先前沒有達到任何閾值,塊可以被新分配到池。在一個實施例中,池結(jié)構(gòu)用位掩碼實現(xiàn),并且塊可以與指示其分配到池的一個或者多個位關(guān)聯(lián)。例如,4池結(jié)構(gòu)可以包括針對塊的4個對應(yīng)的位掩碼,每個位掩碼指示各個塊是否屬于特定池。在一個實施例中,額外的檢查位可以分配到一組塊以加速選擇處理。 例如,可以使用檢查位來指示32個塊的狀態(tài),使得當(dāng)檢查位被設(shè)定為“0”時,選擇處理能夠跳過32個塊,知道這些塊都不具有指示分配到所考慮的特定池的“1”位。如果檢查位被設(shè)定為“ 1 ”,則選擇處理將檢查32個塊的各個位,因為“ 1”指示至少一個塊被分配到特定池。 在另一實施例中,額外的檢查位可以被以層級順序分配到檢查位組。例如,額外的檢查位可以被分配到一組檢查位,使得如果檢查位的任何一個被設(shè)定為“ 1 ”,則額外的檢查位將也被設(shè)定為“1”。檢查位方法減少定位被分配到具有最大的最小量無效頁面的池的塊所需要的時間。在另一實施例中,池分配被維護在表中。多池數(shù)據(jù)結(jié)構(gòu)提供選擇最優(yōu)或者接近最優(yōu)的候選塊以便垃圾收集的有效方法。在一個實施例中,使用分類鏈接的列表結(jié)構(gòu)來組織有資格垃圾收集的塊。在一個實施例中,塊在鏈接表中被按照塊中的無效頁面的量分類,使得可以通過從鏈接表的前或者后(取決于分類的方向)選擇塊定位垃圾收集的最優(yōu)候選者。在一個實施例中,以上描述的池以分類鏈接表結(jié)構(gòu)實現(xiàn),其中具有到對應(yīng)于各個池的最小無效頁面閾值的條目的指針,使得能夠迅速定位分配到各個池的塊。在另一實施例中,一個或者多個鏈接表被用于每個池,并且如以上描述塊被分配到池并且插入到對應(yīng)的池的一個或者多個鏈接表中。在一些實施例中, 相比于鏈接表實現(xiàn),用位掩碼實現(xiàn)的池數(shù)據(jù)結(jié)構(gòu)需要顯著更少的開銷存儲器。這個差異在存儲子系統(tǒng)中是顯著的,其中潛在地存在百萬計的塊或者數(shù)萬超塊,其可以是任意給定時間用于垃圾收集的候選。Mrk以上公開的具體實施例的特征和屬性可以以不同方式組合以形成其他的實施例, 所有其他的實施例將落入本公開的范圍之內(nèi)。盡管本公開提供特定優(yōu)選實施例和應(yīng)用,對本領(lǐng)域技術(shù)人員明顯的其它實施例,包括沒有提供此處闡述的全部特征和優(yōu)點的實施例, 也在本公開的范圍之內(nèi)。因此,本公開的范圍意在僅僅參照所附的權(quán)利要求限定。
      權(quán)利要求
      1.一種存儲子系統(tǒng),包括非易失性固態(tài)存儲器陣列;以及控制器,其包括垃圾收集模塊,所述控制器被配置為接收和執(zhí)行來自主機系統(tǒng)和所述垃圾收集模塊的存儲器命令,所述控制器還被配置為針對所述存儲器陣列中的第一存儲器塊,維護無效頁面計數(shù)器,所述無效頁面計數(shù)器用于存儲與所述第一存儲器塊內(nèi)的無效頁面的數(shù)目有關(guān)的數(shù)據(jù),所述第一存儲器塊按照無效頁面的數(shù)目被分配到第一池,其中所述垃圾收集模塊被配置為基于無效頁面的數(shù)目從多個池中選擇存儲器塊;在執(zhí)行來自所述主機系統(tǒng)的、引起所述第一存儲器塊內(nèi)的頁面的有效性改變的存儲器命令之后,更新與所述第一存儲器塊關(guān)聯(lián)的無效頁面計數(shù)器;以及當(dāng)更新后的無效頁面計數(shù)器超過閾值時,將所述第一存儲器塊重分配到第二池。
      2.根據(jù)權(quán)利要求1所述的存儲子系統(tǒng),其中所述控制器還被配置為在所述第一存儲器塊進行垃圾收集之后,將所述第一存儲器塊分配到用于自由存儲器塊的池。
      3.根據(jù)權(quán)利要求1所述的存儲子系統(tǒng),其中所述多個池中的每一個被分配有具有不同的無效頁面最小數(shù)目的塊,并且所述垃圾收集模塊被配置為針對垃圾收集選擇被分配到第三池的第二存儲器塊,所述第三池具有最大的無效頁面最小數(shù)目。
      4.根據(jù)權(quán)利要求3所述的存儲子系統(tǒng),其中所述多個池包括所述第一池、所述第二池、 所述第三池和第四池,所述第一池被初始配置用于具有至少25%無效頁面的存儲器塊,所述第二池被初始配置用于具有至少50%無效頁面的存儲器塊,所述第三池被初始配置用于具有至少75%無效頁面的存儲器塊,所述第四池被初始配置用于具有100%無效頁面的存儲器塊。
      5.根據(jù)權(quán)利要求1所述的存儲子系統(tǒng),其中數(shù)據(jù)結(jié)構(gòu)被用來存儲與存儲器塊的池分配有關(guān)的數(shù)據(jù)。
      6.根據(jù)權(quán)利要求5所述的存儲子系統(tǒng),其中所述數(shù)據(jù)結(jié)構(gòu)被存儲在靜態(tài)隨機存取存儲器中。
      7.根據(jù)權(quán)利要求5所述的存儲子系統(tǒng),其中所述數(shù)據(jù)結(jié)構(gòu)是樹形結(jié)構(gòu)。
      8.根據(jù)權(quán)利要求5所述的存儲子系統(tǒng),其中所述控制器還被配置為在將所述第一存儲器塊重分配到不同的池中之前,獲得對所述數(shù)據(jù)結(jié)構(gòu)的鎖定。
      9.根據(jù)權(quán)利要求1所述的存儲子系統(tǒng),其中所述控制器還被配置為在更新所述頁面計數(shù)器之前,獲得對所述無效頁面計數(shù)器的鎖定。
      10.根據(jù)權(quán)利要求1所述的存儲子系統(tǒng),其中所述無效頁面計數(shù)器被存儲在動態(tài)隨機存取存儲器中。
      11.一種管理非易失性固態(tài)存儲器中的存儲器操作的方法,所述方法包括針對所述非易失性固態(tài)存儲器中的第一存儲器塊,維護無效頁面計數(shù)器,所述無效頁面計數(shù)器用于儲存與所述第一存儲器塊內(nèi)的無效頁面的數(shù)目有關(guān)的數(shù)據(jù),所述第一存儲器塊按照無效頁面的數(shù)目被分類到第一池;在從主機系統(tǒng)接收引起所述第一存儲器塊內(nèi)的頁面的有效性改變的寫入命令之后,更新用于所述第一存儲器塊的無效頁面計數(shù)器;以及當(dāng)所述第一存儲器塊的無效頁面計數(shù)器指示所述第一存儲器塊內(nèi)的無效頁面的數(shù)目超過閾值時,將所述第一存儲器塊重分類到第二池。
      12.根據(jù)權(quán)利要求11所述的方法,還包括針對垃圾收集選擇被分類到具有最大的無效頁面最小閾值的第三池中的第二存儲器塊。
      13.根據(jù)權(quán)利要求11所述的方法,其中所述多個池包括所述第一池、所述第二池、所述第三池和第四池,所述第一池被初始配置用于具有至少25%無效頁面的存儲器塊,所述第二池被初始配置用于具有至少50%無效頁面的存儲器塊,所述第三池被初始配置用于具有至少75%無效頁面的存儲器塊,所述第四池被初始配置用于具有100%無效頁面的存儲器塊。
      14.根據(jù)權(quán)利要求11所述的方法,還包括在映射表中針對所述寫入命令中的邏輯地址定位條目以確定對應(yīng)于所述邏輯地址的物理頁面地址;用阻止即將發(fā)生的垃圾收集命令在所述物理頁面地址處執(zhí)行的信息更新無效頁面表;執(zhí)行所述寫入命令;以及用新物理地址更新所述映射表中定位的條目,所述數(shù)據(jù)通過所述寫入命令的執(zhí)行被寫入所述新物理地址。
      15.根據(jù)權(quán)利要求14所述的方法,其中更新所述無效頁面表還包括更新所述無效頁面表中的條目以指示在所述物理頁面地址的數(shù)據(jù)是無效的。
      16.根據(jù)權(quán)利要求14所述的方法,其中所述無效頁面表被實現(xiàn)為位掩碼,其中使用位來代表頁面地址處的數(shù)據(jù)的有效性。
      17.根據(jù)權(quán)利要求14所述的方法,其中所述無效頁面表存儲在動態(tài)隨機存取存儲器中。
      18.根據(jù)權(quán)利要求11所述的方法,其中數(shù)據(jù)結(jié)構(gòu)被用來存儲與所述存儲器塊的池分類有關(guān)的數(shù)據(jù)。
      19.根據(jù)權(quán)利要求18所述的方法,其中所述數(shù)據(jù)結(jié)構(gòu)存儲在靜態(tài)隨機存取存儲器中。
      20.根據(jù)權(quán)利要求18所述的方法,其中所述數(shù)據(jù)結(jié)構(gòu)是樹形結(jié)構(gòu)。
      21.根據(jù)權(quán)利要求11所述的方法,其中所述無效頁面計數(shù)器存儲在動態(tài)隨機存取存儲器中。
      22.—種針對垃圾收集存儲器命令在存儲子系統(tǒng)的非易失性存儲器陣列中選擇存儲器塊的方法,所述方法包括維護與所述存儲器塊內(nèi)的無效頁面的數(shù)目有關(guān)的數(shù)據(jù);將所述存儲器塊分配到多個池中,每個池被配置為在分配到該池的各個存儲器塊中具有不同的無效頁面最小閾值;以及選擇被分配到具有最大的最小閾值的池的存儲器塊以便垃圾收集。
      23.根據(jù)權(quán)利要求22所述的方法,其中所述選擇還包括 用至少一個存儲器塊條目識別具有最大的最小閾值的池。
      24.根據(jù)權(quán)利要求22所述的方法,還包括當(dāng)從主機系統(tǒng)接收的存儲器命令引起所述存儲器塊內(nèi)的頁面的有效性改變時,更新所述數(shù)據(jù);以及基于更新后的數(shù)據(jù)將包含該頁面的存儲器塊重分配到具有更高的無效頁面最小閾值的新池。
      25. —種針對垃圾收集存儲器命令在存儲子系統(tǒng)的非易失性存儲器陣列中選擇存儲器塊的方法,所述方法包括維護關(guān)于所述存儲器塊內(nèi)有多少個頁面是無效的統(tǒng)計數(shù)據(jù); 基于無效頁面的數(shù)目使用所述統(tǒng)計數(shù)據(jù)來維護多個存儲器塊的池;以及從第一池選擇第一存儲器塊以便垃圾收集。
      全文摘要
      本發(fā)明實施例涉及選擇存儲器塊以便垃圾收集以使垃圾收集操作釋放的存儲器的量最大化。此處公開的系統(tǒng)和方法提供有效選擇最優(yōu)或者接近最優(yōu)的垃圾收集候選塊,最優(yōu)選擇定義為最無效頁面的塊。在一個實施例中,控制器將存儲器塊按照每個塊包含的無效頁面的量分類到各個無效塊池。當(dāng)進行垃圾收集時,控制器從具有最大的無效頁面最小量的塊的非空池選擇塊。池以高效方式幫助垃圾收集候選的最優(yōu)或者接近最優(yōu)選擇并且池的數(shù)據(jù)結(jié)構(gòu)能夠用在存儲器中占用最小空間的位掩碼實現(xiàn)。
      文檔編號G06F12/02GK102243613SQ201110126948
      公開日2011年11月16日 申請日期2011年5月12日 優(yōu)先權(quán)日2010年5月12日
      發(fā)明者A·C·坎, H-F·康 申請人:西部數(shù)據(jù)技術(shù)公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1