国产精品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>

      用于管理閃存多個區(qū)塊的方法和相關(guān)記憶裝置及其控制器的制作方法

      文檔序號:6580957閱讀:134來源:國知局
      專利名稱:用于管理閃存多個區(qū)塊的方法和相關(guān)記憶裝置及其控制器的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及閃存(Flash Memory)的存取(Access),更具體地說,涉及一種用于管 理閃存的多個區(qū)塊的方法以及相關(guān)的記憶裝置及其控制器。
      背景技術(shù)
      近年來由于閃存的技術(shù)不斷地發(fā)展,各種便攜式記憶裝置(例如符合SD/MMC、 CF、MS、)(D標準的記憶卡)被廣泛地實施于諸多應(yīng)用。因此,這些便攜式記憶裝置中的閃存 的存取控制也就成為相當熱門的話題。
      以常用的NAND型閃存而言,其主要可區(qū)分為單層單元閃存(Single Level Cell, SLC)與多層單元閃存(Multiple Level Cell,MLC)。單層單元閃存中的每個被當作記憶單 元的晶體管只有兩種電荷值,分別用于表示邏輯值0與邏輯值1。另外,多層單元閃存中的 每個被當作記憶單元的晶體管的儲存能力則被充分利用,是采用較高的電壓來驅(qū)動,以通 過不同級別的電壓在一個晶體管中記錄兩組位信息(例如00、01、11、10);理論上,多層單 元閃存的記錄密度可以達到單層單元閃存的記錄密度的兩倍以上,這對于曾經(jīng)在發(fā)展過程 中遇到瓶頸的NAND型閃存的相關(guān)產(chǎn)業(yè)而言,是非常好的消息。
      與單層單元閃存相比,由于多層單元閃存的價格較便宜,并且在有限的空間里 可提供較大的容量,故多層單元閃存很快地成為市場上的便攜式記憶裝置競相采用的主 流。依據(jù)相關(guān)技術(shù),進一步增加多層單元閃存的記錄密度以超越單層單元閃存的記錄密度 的兩倍是有可能的。然而,多層單元閃存的不穩(wěn)定性所導(dǎo)致的問題也一一出現(xiàn)。應(yīng)當注 意的是,上述這種增加多層單元閃存的記錄密度的方法有些副作用;例如存儲器耐用度 (endurance)降低、讀取/寫入速度變慢、容易發(fā)生讀取/寫入錯誤等,還會導(dǎo)致某些種類的 便攜式記憶裝置(例如符合SD標準的記憶卡)在應(yīng)用上出現(xiàn)困難。
      尤其是,隨著記錄密度的提升,每一區(qū)塊的頁數(shù)就相應(yīng)地增加了。于是,當便攜式 記憶裝置進行合并運作(Merging Operation)時,就因頁數(shù)過多而無法達到SD標準的時間 限制(Time Out)的規(guī)定。因此,需要一種新穎的方法來加強控制和管理閃存的數(shù)據(jù)存取, 以確保便攜式記憶裝置在記錄密度提升的情況下可以正常地運作。發(fā)明內(nèi)容
      因此,本發(fā)明的目的之一在于提供一種用于管理閃存(Flash Memory)的多個區(qū)塊 的方法以及相關(guān)的記憶裝置及其控制器,以解決上述問題。
      本發(fā)明的另一目的在于提供一種用于管理閃存的多個區(qū)塊的方法以及相關(guān)的記 憶裝置及其控制器,以減少所述閃存中的區(qū)塊的合并運作(Merging Operation)的次數(shù),甚 至可以不必進行合并運作。
      本發(fā)明的較佳實施例中提供一種用于管理閃存的多個區(qū)塊的方法,所述方法包 括從所述多個區(qū)塊中篩選出具有無效頁的至少一第一區(qū)塊;以及移動所述第一區(qū)塊中的 一部分有效頁的數(shù)據(jù)至一第二區(qū)塊,其中所述第一區(qū)塊中的全部有效頁的數(shù)據(jù)并非一次就都被移動至所述第二區(qū)塊。
      本發(fā)明在提供上述方法的同時,還對應(yīng)地提供一種記憶裝置,包括一閃存,所述 閃存包含多個區(qū)塊;以及一控制器,用于存取所述閃存以及管理所述多個區(qū)塊,其中所述控 制器從所述多個區(qū)塊中篩選出具有無效頁的至少一第一區(qū)塊,并且移動所述第一區(qū)塊中的 一部分有效頁的數(shù)據(jù)至一第二區(qū)塊;其中所述第一區(qū)塊中的全部有效頁的數(shù)據(jù)并非一次就 都被移動至所述第二區(qū)塊。
      本發(fā)明在提供上述方法的同時,還對應(yīng)地提供一種記憶裝置的控制器,所述控制 器用于存取一閃存,所述閃存包含多個區(qū)塊,所述控制器包括一只讀存儲器,用于儲存一 程序代碼;以及一微處理器,用于執(zhí)行所述程序代碼以控制對所述閃存的存取以及管理所 述多個區(qū)塊;其中通過所述微處理器執(zhí)行所述程序代碼的所述控制器從所述多個區(qū)塊中篩 選出具有無效頁的至少一第一區(qū)塊,并且移動所述第一區(qū)塊中的一部分有效頁的數(shù)據(jù)至一 第二區(qū)塊;以及所述第一區(qū)塊中的全部有效頁的數(shù)據(jù)并非一次就都被移動至所述第二區(qū) 塊。


      下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中
      圖1是依據(jù)本發(fā)明一第一實施例的一種記憶裝置的示意圖。
      圖2是依據(jù)本發(fā)明一實施例的一種用于管理閃存的多個區(qū)塊的方法的流程圖。
      圖3是圖2所示的方法在一實施例中所涉及的某些區(qū)塊的示意圖。
      圖4是圖2所示的方法在另一實施例中所涉及的某些區(qū)塊的示意圖。
      圖5是圖2所示的方法在另一實施例中所涉及的某區(qū)塊的示意圖。
      圖6是圖2所示的方法在另一實施例中所涉及的某區(qū)塊的示意圖。
      主要組件符號說明
      100記憶裝置110存儲器控制器 112微處理器 112C程序代碼
      112M只讀存儲器 114控制邏輯116緩沖存儲器118接口邏輯
      120閃存910用于管理一閃存的多個區(qū)塊的方法
      912,914 步驟A、B、C、D、E 區(qū)塊
      P12 (A)、P55 (A)、P90 (A)、P12 (H1)、P39 (H1)、P40 (H2)、P75 (H3)、P80 (H3)對應(yīng)于一頁的數(shù)據(jù)具體實施方式
      為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對 本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。
      參考圖1,圖1是依據(jù)本發(fā)明一第一實施例的一種記憶裝置100的示意圖。其中本 實施例的記憶裝置100尤其為便攜式記憶裝置(例如符合SD/MMC、CF、MS、)(D標準的記憶 卡)。記憶裝置100包括一閃存(Flash Memory) 120 ;以及一控制器,用于存取閃存120, 其中該控制器例如一存儲器控制器110。依據(jù)本實施例,存儲器控制器110包括一微處理 器112、一只讀存儲器(Read Only Memory, ROM) 112M、一控制邏輯114、一緩沖存儲器116、 與一接口邏輯118。只讀存儲器用于儲存一程序代碼112C,而微處理器112則用于執(zhí)行程序代碼112C以控制對閃存120的存取(Access)。請注意到,程序代碼112C也需儲存在緩 沖存儲器116或任何形式的存儲器內(nèi)。
      一般情況下,閃存120包括多個區(qū)塊(Block),而該控制器(例如通過微處理器 112執(zhí)行程序代碼112C的存儲器控制器110)對閃存120進行抹除數(shù)據(jù)的操作是以區(qū)塊為 單位來進行抹除。另外,一區(qū)塊可記錄特定數(shù)量的頁O^age),其中該控制器對閃存120進行 寫入數(shù)據(jù)的運作是以頁為單位來進行寫入。
      在實際操作中,通過微處理器112執(zhí)行程序代碼112C的存儲器控制器110可利用 其本身內(nèi)部的組件來進行諸多控制操作,例如利用控制邏輯114來控制閃存120的存取操 作(尤其是對至少一區(qū)塊或至少一頁的存取操作)、利用緩沖存儲器116進行所需的緩沖處 理、以及利用接口邏輯118來與一主裝置(Host Device)交互。
      依據(jù)本實施例,除了能存取閃存120,該控制器還能妥善地管理該多個區(qū)塊。更 明確地說,該控制器可從該多個區(qū)塊中篩選出具有無效頁(Invalid Page)的至少一第一 區(qū)塊,并且移動該第一區(qū)塊中的一部分有效頁(Valid Page)的數(shù)據(jù)至一第二區(qū)塊,以增進 其區(qū)塊管理的效能。也就是說,讀取第一區(qū)塊中的一部分有效頁,并將其復(fù)制至第二區(qū)塊。 其中該第一區(qū)塊中的全部有效頁的數(shù)據(jù)并非一次就都被移動至該第二區(qū)塊。此外,在一區(qū) 塊中的有效頁是指儲存有最新/有效信息的頁面,區(qū)塊中的有效頁實際鏈接至某一邏輯地 址;而在一區(qū)塊中的無效頁是指儲存較舊/無效信息的頁面,區(qū)塊中的無效頁則無實際鏈 接至某一邏輯地址。例如主裝置要求存儲器控制器110將邏輯頁面地址為LPA 1的一頁 信息Data 1儲存至閃存120,而閃存120將該信息Data 1儲存至閃存120的第一實體區(qū)塊 的第一實體頁,由于該第一實體頁儲存邏輯頁面地址為LPA 1的最新信息,故該第一實體 頁為一有效頁。隨后,主裝置要求存儲器控制器110將邏輯頁面地址LPA 1的一頁更新信 息Data 2儲存至閃存120,而閃存120將該更新信息Data 2儲存至閃存120的第一實體區(qū) 塊的第二實體頁,或其它實體區(qū)塊的實體頁內(nèi),由于第一實體區(qū)塊的第一實體頁所儲存的 信息(Data 1)并非邏輯頁面地址LPA 1最新信息,故該第一實體頁成為一無效頁。相關(guān)細 節(jié)可參考圖2來進一步說明。
      圖2為依據(jù)本發(fā)明一實施例的一種用于管理一閃存的多個區(qū)塊的方法910的流程 圖。該方法可應(yīng)用于圖1所示的記憶裝置100,尤其是上述的控制器(例如通過微處理器 112執(zhí)行程序代碼112C的存儲器控制器110)。另外,該方法可通過利用圖1所示的記憶裝 置100來實施,尤其是通過利用上述的控制器(例如通過微處理器112執(zhí)行程序代碼112C 的存儲器控制器110)來實施。該方法說明如下
      在步驟912中,上述的控制器(例如通過微處理器112執(zhí)行程序代碼112C的存 儲器控制器110)從該多個區(qū)塊中篩選出具有無效頁的至少一第一區(qū)塊。依據(jù)本實施例,該 控制器會記錄該多個區(qū)塊的至少一部分區(qū)塊的無效頁的數(shù)量,并隨時更新該至少一部分區(qū) 塊當中各個區(qū)塊的無效頁的數(shù)量。如此,該控制器就可以依據(jù)該至少一部分區(qū)塊的無效頁 的數(shù)量,從該多個區(qū)塊中篩選出具有無效頁的該至少一第一區(qū)塊。
      依據(jù)本實施例,當步驟912所選出的區(qū)塊的無效頁愈多,則該控制器愈能增進其 區(qū)塊管理的效能。例如該控制器可從該多個區(qū)塊中篩選出具有較多無效頁的區(qū)塊,作為該 至少一第一區(qū)塊;又例如該控制器可從該多個區(qū)塊中篩選出具有最多無效頁的區(qū)塊,作 為該至少一第一區(qū)塊。
      在步驟914中,該控制器移動該第一區(qū)塊中的一部分有效頁的數(shù)據(jù)至一第二區(qū) 塊,其中該第一區(qū)塊中的全部有效頁的數(shù)據(jù)并非一次就都被移動至該第二區(qū)塊。依據(jù)本實 施例,當接收到來自上述的主裝置的一寫入命令時,該控制器將對應(yīng)于該寫入命令的數(shù)據(jù) 寫入該第二區(qū)塊,并且移動該第一區(qū)塊中的該部分有效頁的數(shù)據(jù)至該第二區(qū)塊。例如該控 制器可在將對應(yīng)于該寫入命令的數(shù)據(jù)寫入該第二區(qū)塊之前、或是之后,移動該第一區(qū)塊中 的該部分有效頁的數(shù)據(jù)至該第二區(qū)塊。如此,該控制器可分批移動該第一區(qū)塊中的有效頁 的數(shù)據(jù)至該第二區(qū)塊。
      依據(jù)本實施例,該控制器能記錄該多個區(qū)塊的至少一部分(或全部)區(qū)塊的無效 頁的數(shù)量并隨時更新該至少一部分區(qū)塊(或全部)中各個區(qū)塊的無效頁的數(shù)量,且能依據(jù) 該至少一部分區(qū)塊(或全部)的無效頁的數(shù)量,從該多個區(qū)塊中篩選出具有無效頁的該至 少一第一區(qū)塊。這只是為了說明的目的而已,并非對本發(fā)明的限制。依據(jù)本實施例的一變化 例,該控制器會記錄該多個區(qū)塊的至少一部分區(qū)塊(或全部)的有效頁的數(shù)量,并隨時更新 該至少一部分(或全部)區(qū)塊當中各個區(qū)塊的有效頁的數(shù)量,以及依據(jù)該至少一部分(或 全部)區(qū)塊的有效頁的數(shù)量,從該多個區(qū)塊中篩選出具有無效頁的該至少一第一區(qū)塊。
      另外,在本實施例中,該控制器通過利用該寫入命令來觸發(fā)上述移動該第一區(qū)塊 中的該部分有效頁的數(shù)據(jù)至該第二區(qū)塊的操作。這只是為了說明的目的而已,并非對本發(fā) 明的限制;該控制器也可依據(jù)其他事件的發(fā)生、或至少一條件的成立,來觸發(fā)上述移動該第 一區(qū)塊中的該部分有效頁的數(shù)據(jù)至該第二區(qū)塊的運操作。例如該至少一條件包括一定 時器指出目前時間已達到一預(yù)定時間或一預(yù)定周期、或一計數(shù)器指出目前該第一區(qū)塊中的 有效頁的數(shù)據(jù)被分批移動至該第二區(qū)塊的執(zhí)行次數(shù)尚未達到一預(yù)定次數(shù)、或一標識指出該 第一區(qū)塊中的有效頁的數(shù)據(jù)尚未全部被移動至該第二區(qū)塊、或目前閃存120中的空白/可 寫入的存儲器空間(區(qū)塊或頁面)不足、或是需進行合并運作(Merging Operation)時。
      與現(xiàn)有技術(shù)相比,由于本發(fā)明的存儲器控制器110是及早進行預(yù)防性的措施,常 常將各個區(qū)塊中的有效頁的空間重新回收以供進一步使用,故本發(fā)明可減少進行合并運作 (Merging Operation)的次數(shù)。因此,本發(fā)明可提供便攜式記憶裝置較高的效能。另外, 本發(fā)明的存儲器控制器110可將該第一區(qū)塊中的有效頁的數(shù)據(jù)分批移動至該第二區(qū)塊;因 此,本發(fā)明可避免現(xiàn)有技術(shù)中因頁數(shù)過多而無法達到SD標準的時間限制(Time Out)的規(guī) 定的問題。
      圖3為圖2所示的方法在一實施例中所涉及的某些區(qū)塊的示意圖,其中本實施例 為圖2所示的實施例的變化例。在此,區(qū)塊A、B分別代表上述的第一區(qū)塊與第二區(qū)塊。存儲 器控制器110可將第一區(qū)塊A中的有效頁(區(qū)塊中的斜線部分,例如除了 P12㈧,P55(A), P90(A)之外的部分)的數(shù)據(jù)分批移動至第二區(qū)塊B。本實施例中,存儲器控制器110在接收 到來自上述的主裝置的一寫入命令H1時,先將第一區(qū)塊A中的一部分有效頁(例如位于第 一至十二頁Fpage (O)a Fpage (II)a的有效頁)的數(shù)據(jù)移動至第二區(qū)塊B的第一至十二 頁Fpage (O)b Fpage (II)b,并修改相關(guān)邏輯實體地址鏈接表,將原本鏈接至第一區(qū)塊A中 位于第一至十二頁Fpage(0)A Fpage (II)a的邏輯地址(例如邏輯頁面地址LPA 100 111)重新鏈接至第二區(qū)塊B的第一至十二頁Fpage (O)b Fpage (11)B。此后,若主裝置欲 讀取這些邏輯地址(例如邏輯頁面地址LPA 100 111)的數(shù)據(jù)時,存儲器控制器110則 會查找修改后的邏輯實體地址鏈接表,并讀取儲存在第二區(qū)塊B的第一至十二頁Fpage (0)B Fpage (II)b的數(shù)據(jù)并回復(fù)給主裝置;實際操作中,可將第一區(qū)塊A中位于第一至十二 頁Fpage (O)a Fpage (II)a的有效頁標示為無效頁(而非立即被抹除),故第一至十二頁 Fpage (O)a Fpage (II)a可視為被移動或刪除。其次,存儲器控制器110將對應(yīng)于寫入命 令H1的數(shù)據(jù)P12 (H1)寫入第二區(qū)塊B的第十三頁Fpage (12) B。
      然后,存儲器控制器110在接收到來自該主裝置的一寫入命令H2時,先將第一區(qū) 塊A中另一部分有效頁(例如位于第十四至四十頁Fpage (13)A Fpage (39)4的有效頁) 的數(shù)據(jù)移動至第二區(qū)塊B的第十四至四十頁Fpage (13)B Fpage (39)B,并修改相關(guān)邏輯實 體地址鏈接表,將原本鏈接至第一區(qū)塊A中位于第十四至四十頁Fpage (13)A Fpage (39) A 的邏輯地址(例如邏輯頁面地址LPA 313 339)重新鏈接至第二區(qū)塊B的第十四至四十 頁Fpage (13) B Fpage (39) B。此后,若主裝置欲讀取這些邏輯地址(例如邏輯頁面地址LPA 313 339)的數(shù)據(jù)時,存儲器控制器110則會查找修改后的邏輯實體地址鏈接表,并讀取 儲存在第二區(qū)塊8的第十四至四十頁? 叫6(13\ ? 叫6(39\的數(shù)據(jù)并回復(fù)給主裝置;實 際操作中,可將第一區(qū)塊A中位于第十四至四十頁Fpage (13) A Fpage (39) A的有效頁標示 為無效頁(而非立即被抹除),故第十四至四十頁Fpage (13) A Fpage (39) A可視為被移動 或刪除。接著,存儲器控制器110將對應(yīng)于寫入命令H2的數(shù)據(jù)P4tl(H2)寫入第二區(qū)塊B的第 四 i^一頁 Fpage (40) BO
      接下來,存儲器控制器110在接收到來自該主裝置的一寫入命令H3時,先將第一 區(qū)塊A中另外兩部分有效頁(分別位于第四i^一至五十五頁Fpage (40) A Fpage (M) A、 以及位于第五十七至七十五頁Fpage (56)A Fpage (74) A)的數(shù)據(jù)移動至第二區(qū)塊B的第 四十二至七十五頁Fpage (41) B Fpage (74) B,并修改相關(guān)邏輯實體地址鏈接表,將原本鏈 接至第四i^一至五十五頁Fpage (40) A Fpage (54) A、以及第五十七至七十五頁Fpage (56) A Fpage (74) A)的邏輯地址(例如邏輯頁面地址LPA 740 754、以及LPA 256 274)重 新鏈接至第二區(qū)塊B的第四十二至七十五頁Fpage (41)b Fpage (74)b。此后,若主裝置欲 讀取這些邏輯地址(例如邏輯頁面地址LPA 740 754、以及LPA 256 274)的數(shù)據(jù)時, 存儲器控制器110則會查找修改后的邏輯實體地址鏈接表,并讀取儲存在第二區(qū)塊B的第 四十二至七十五頁Fpage (41)B Fpage (74\的數(shù)據(jù)并回復(fù)給主裝置;實際操作中,可將第 一區(qū)塊A中分別位于第四十一至五十五頁Fpage (40) A Fpage (54) A、以及位于第五十七至 七十五頁Fpage (56)a Fpage (74)A的該兩部分標示為無效頁,故均可視為被移動或刪除。 接著,存儲器控制器110將對應(yīng)于寫入命令H3的數(shù)據(jù)P75 (H3)寫入第二區(qū)塊B的第七十六頁 Fpage (75)bo請注意到,在此實施例中,存儲器控制器110可將第一區(qū)塊A中的數(shù)據(jù)移動到 第二區(qū)塊B中的任何記憶頁,而無需移動到相對應(yīng)的頁面位置,例如,存儲器控制器110將 第一區(qū)塊A中第四i^一至五十五頁Fpage (40)A Fpage (54) A的數(shù)據(jù)移動到第二區(qū)塊B中 第四十二至五十六頁Fpage (41)B Fpage (55)B,而非將其移動至第二區(qū)塊B中第四十一至 五十五頁 Fpage (40) B Fpage (54) B。
      此后,存儲器控制器110也可依據(jù)其他事件的發(fā)生、或上述的至少一條件的成 立,來觸發(fā)移動第一區(qū)塊A中剩下的有效頁(分別位于第七十六至九十頁Fpage (75) A Fpage (89) A、以及位于第九十二至一百二十八頁Fpage (91) A Fpage (127) A)的數(shù)據(jù)至第二 區(qū)塊B的操作。
      在本實施例中,存儲器控制器110可依據(jù)第一區(qū)塊A中無效頁的位置Fpage(12)A來決定某一次(例如第一次)移動有效頁的數(shù)據(jù)量,亦可依據(jù)第一區(qū)塊A的一預(yù)定移出數(shù) 據(jù)量(例如第十四至四十Fpage(13)A Fpage(39)A頁,27頁)來決定某一次(例如第二 次)移動有效頁的數(shù)據(jù)量,也可以依據(jù)第二區(qū)塊B的一預(yù)定移入數(shù)據(jù)量(例如第四十一至 五十五頁Fpage (40) A Fpage (54) A及第五十七至七十五頁Fpage (56) A Fpage (74) A,共 34頁)來決定某一次(例如第三次)移動有效頁的數(shù)據(jù)量。然而,這只是為了說明的目的 而已,并非對本發(fā)明的限制。請注意到,移動有效頁的數(shù)量限制依據(jù)閃存的相關(guān)規(guī)范,例如 SD卡的相關(guān)規(guī)范中規(guī)定寫入512字節(jié)(Byte)的數(shù)據(jù)需在250微秒(ms)內(nèi)完成,如此一來, 存儲器控制器110必須計算從區(qū)塊A將N個有效頁面的數(shù)據(jù)移動到區(qū)塊B所需的時間,再 加上將一筆新的512字節(jié)(Byte)數(shù)據(jù)寫入?yún)^(qū)塊B的時間,以期望在250微秒內(nèi)完成。如此 一來,存儲器控制器110即可推算N值的上限,也即移動有效頁的數(shù)量限制。
      依據(jù)本實施例的一變化例,存儲器控制器110可依據(jù)該第二區(qū)塊的至少一預(yù)定主 裝置數(shù)據(jù)寫入位置來決定某一次移動有效頁的數(shù)據(jù)量及其移動時間點。圖4為圖2所示的 方法在另一實施例中所涉及的某些區(qū)塊的示意圖,其中本實施例為圖2所示的實施例的另 一變化例,也為圖3所示的實施例的變化例。在此,區(qū)塊A、C分別代表上述的第一區(qū)塊與第 二區(qū)塊。在本實施例中,存儲器控制器110可依據(jù)第二區(qū)塊C的至少一預(yù)定主裝置數(shù)據(jù)寫 入位置來決定某一次移動有效頁的數(shù)據(jù)量。例如該至少一預(yù)定主裝置數(shù)據(jù)寫入位置包含 多個具有相等間隔或接近相等間隔的位置;又例如該至少一預(yù)定主裝置數(shù)據(jù)寫入位置包 含多個對應(yīng)于相等數(shù)據(jù)移動量或接近相等數(shù)據(jù)移動量的位置。
      如圖4所示,本實施例的第二區(qū)塊C中來自第一區(qū)塊A的有效頁的數(shù)據(jù)(即第二區(qū) 塊C中的陰影區(qū)域)區(qū)分為三個部分,且這三個部分分別占有大約相同的比例。另外,上述 對應(yīng)于寫入命令H1的數(shù)據(jù)P12 (H1)在本實施例中被寫入第四十頁Fpage (39) c,故可重新標示 為P39 (H1)。對應(yīng)于寫入命令H2的數(shù)據(jù)P4tl (H2)在本實施例中也被寫入第四i^一頁Fpage (40) C,故仍標示為P4tl(H2)15此外,上述對應(yīng)于寫入命令H3的數(shù)據(jù)P75(H3)在本實施例中被寫入 第八十一頁Fpage (80)。,故可重新標示為P8tl(H3)。本實施例與前述實施例/變化例類似之 處不再重復(fù)贅述。
      圖5為圖2所示的方法在另一實施例中所涉及的某區(qū)塊的示意圖,其中本實施例 為圖2所示的實施例的另一變化例,也為圖4所示的實施例的變化例。在此,圖5所示的區(qū) 塊D代表上述的第二區(qū)塊。
      如圖5所示,本實施例的第二區(qū)塊D中來自第一區(qū)塊A的有效頁的數(shù)據(jù)(即第二 區(qū)塊D中的陰影區(qū)域)實質(zhì)上被區(qū)分為三等分,并且存儲器控制器110分批移動第一區(qū)塊 A中的有效頁的數(shù)據(jù),總共進行三次移動操作,其中在此期間,存儲器控制器110總共接收 到來自該主裝置的兩個寫入命令H11與H12。另外,存儲器控制器110在接收到寫入命令H11 時,先將第一區(qū)塊A中的前三分的一的有效頁移動至第二區(qū)塊D,接著寫入對應(yīng)于寫入命令 H11的數(shù)據(jù)。然后,存儲器控制器110在接收到寫入命令H12時,將第一區(qū)塊A中的后續(xù)的三 分之一的有效頁移動至第二區(qū)塊D,接著寫入對應(yīng)于寫入命令H12的數(shù)據(jù)。此外,存儲器控 制器110可依據(jù)其他事件的發(fā)生、或上述的至少一條件的成立,來觸發(fā)移動第一區(qū)塊A中的 最后三分之一的有效頁的數(shù)據(jù)至第二區(qū)塊D的運作。本實施例與前述實施例/變化例類似 之處不再重復(fù)贅述。
      圖6為圖2所示的方法在另一實施例中所涉及的某區(qū)塊的示意圖,其中本實施例為圖2所示的實施例的另一變化例,也為圖5所示的實施例的變化例。在此,圖6所示的區(qū) 塊E代表上述的第二區(qū)塊。本實施例與圖5所示實施例的差異說明如下。
      如圖6所示,本實施例的第二區(qū)塊E中來自第一區(qū)塊A的有效頁的數(shù)據(jù)(即第二 區(qū)塊E中的陰影區(qū)域)大約區(qū)分為五等分,并且存儲器控制器110分批移動第一區(qū)塊A中 的有效頁的數(shù)據(jù),總共進行五次移動操作,其中在此期間,存儲器控制器110總共接收到來 自該主裝置的兩個寫入命令H11與H12。另外,存儲器控制器110于接收到寫入命令H11時, 會將對應(yīng)于寫入命令H11的數(shù)據(jù)分批寫入第二區(qū)塊E,尤其是分兩次寫入第二區(qū)塊E。類似 地,存儲器控制器110于接收到寫入命令H12時,會將對應(yīng)于寫入命令H12的數(shù)據(jù)分批寫入第 二區(qū)塊E,尤其是分兩次寫入第二區(qū)塊E。本實施例與前述實施例/變化例類似之處不再重 復(fù)贅述。
      此外,若將本發(fā)明應(yīng)用在擁有多個平面(plane)的閃存上,將可獲得更佳的效果。 由于在寫入擁有多個平面(例如兩個平面)的閃存時,可以同時寫入多個記憶頁(例如同 時寫入兩個記憶頁),如此一來,在移動數(shù)據(jù)時(例如移動半個區(qū)塊的數(shù)據(jù))或?qū)懭霐?shù)據(jù)時, 則可在更短的時效內(nèi)完成。從而,不易超過快閃記憶卡所規(guī)定的時限。
      以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明申請專利范圍所做的均等變化與 修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。
      權(quán)利要求
      1.一種用于管理閃存的多個區(qū)塊的方法,其特征在于,包括從所述多個區(qū)塊中篩選出具有無效頁的至少一第一區(qū)塊;以及移動所述第一區(qū)塊中的一部分有效頁的數(shù)據(jù)至一第二區(qū)塊,其中所述第一區(qū)塊中的全 部有效頁的數(shù)據(jù)并非一次就都被移動至所述第二區(qū)塊。
      2.根據(jù)權(quán)利要求1所述的用于管理閃存的多個區(qū)塊的方法,其特征在于,其中從所述 多個區(qū)塊中篩選出具有無效頁的所述至少一第一區(qū)塊的步驟還包括依據(jù)所述多個區(qū)塊的至少一部分區(qū)塊的有效頁的數(shù)量或無效頁的數(shù)量,從所述多個區(qū) 塊中篩選出具有無效頁的所述至少一第一區(qū)塊。
      3.根據(jù)權(quán)利要求2所述的用于管理閃存的多個區(qū)塊的方法,其特征在于,其中所述至 少一部分區(qū)塊包括所述多個區(qū)塊的全部區(qū)塊。
      4.根據(jù)權(quán)利要求2所述的用于管理閃存的多個區(qū)塊的方法,其特征在于,還包括記錄所述至少一部分區(qū)塊的無效頁的數(shù)量。
      5.根據(jù)權(quán)利要求2所述的用于管理閃存的多個區(qū)塊的方法,其特征在于,還包括記錄所述至少一部分區(qū)塊的有效頁的數(shù)量。
      6.根據(jù)權(quán)利要求1所述的用于管理閃存的多個區(qū)塊的方法,其特征在于,其中從所述 多個區(qū)塊中篩選出具有無效頁的所述至少一第一區(qū)塊的步驟還包括從所述多個區(qū)塊中篩選出具有較多無效頁的區(qū)塊,作為所述至少一第一區(qū)塊。
      7.根據(jù)權(quán)利要求1所述的用于管理閃存的多個區(qū)塊的方法,其特征在于,其中從所述 多個區(qū)塊中篩選出具有無效頁的所述至少一第一區(qū)塊的步驟還包括從所述多個區(qū)塊中篩選出具有最多無效頁的區(qū)塊,作為所述至少一第一區(qū)塊。
      8.根據(jù)權(quán)利要求1所述的用于管理閃存的多個區(qū)塊的方法,其特征在于,其中移動所 述第一區(qū)塊中的所述部分有效頁的數(shù)據(jù)至所述第二區(qū)塊的步驟還包括當接收到來自一主裝置的一寫入命令時,將對應(yīng)于所述寫入命令的數(shù)據(jù)寫入所述第二 區(qū)塊,并且移動所述第一區(qū)塊中的所述部分有效頁的數(shù)據(jù)至所述第二區(qū)塊。
      9.根據(jù)權(quán)利要求8所述的用于管理閃存的多個區(qū)塊的方法,其特征在于,其中移動所 述第一區(qū)塊中的所述部分有效頁的數(shù)據(jù)至所述第二區(qū)塊的步驟還包括在將對應(yīng)于所述寫入命令的數(shù)據(jù)寫入所述第二區(qū)塊之前,移動所述第一區(qū)塊中的所述 部分有效頁的數(shù)據(jù)至所述第二區(qū)塊。
      10.根據(jù)權(quán)利要求8所述的用于管理閃存的多個區(qū)塊的方法,其特征在于,其中移動所 述第一區(qū)塊中的所述部分有效頁的數(shù)據(jù)至所述第二區(qū)塊的步驟還包括在將對應(yīng)于所述寫入命令的數(shù)據(jù)寫入所述第二區(qū)塊之后,移動所述第一區(qū)塊中的所述 部分有效頁的數(shù)據(jù)至所述第二區(qū)塊。
      11.根據(jù)權(quán)利要求1所述的用于管理閃存的多個區(qū)塊的方法,其特征在于,還包括將所述第一區(qū)塊中的所述部分有效頁重新標示為無效頁。
      12.根據(jù)權(quán)利要求1所述的用于管理閃存的多個區(qū)塊的方法,其特征在于,其中移動所 述第一區(qū)塊中的所述部分有效頁的數(shù)據(jù)至所述第二區(qū)塊的步驟還包括修改一邏輯實體地址鏈接表,使原本鏈接至所述第一區(qū)塊中的所述部分有效頁的至少 一邏輯地址重新鏈接至所述第二區(qū)塊的至少一記憶頁。
      13.根據(jù)權(quán)利要求1所述的用于管理閃存的多個區(qū)塊的方法,其特征在于,其中移動所述第一區(qū)塊中的所述部分有效頁的數(shù)據(jù)至所述第二區(qū)塊的步驟還包括將所述第一區(qū)塊中的所述部分有效頁的數(shù)據(jù)移動至所述第二區(qū)塊的任意記憶頁,而無 需將所述部分有效頁的數(shù)據(jù)移動到所述第二區(qū)塊中對應(yīng)所述第一區(qū)塊中的所述部分有效 頁的記憶頁。
      14.一種記憶裝置,其特征在于,包括一閃存,所述閃存包括多個區(qū)塊;以及一控制器,用于存取所述閃存以及管理所述多個區(qū)塊,其中所述控制器從所述多個區(qū) 塊中篩選出具有無效頁的至少一第一區(qū)塊,并且移動所述第一區(qū)塊中的一部分有效頁的數(shù) 據(jù)至一第二區(qū)塊;其中所述第一區(qū)塊中的全部有效頁的數(shù)據(jù)并非一次就都被移動至所述第二區(qū)塊。
      15.一種記憶裝置的控制器,其特征在于,所述控制器用于存取一閃存,所述閃存包含 多個區(qū)塊,所述控制器包括一只讀存儲器,用于儲存一程序代碼;以及一微處理器,用于執(zhí)行所述程序代碼以控制對所述閃存的存取以及管理所述多個區(qū)塊;其中通過所述微處理器執(zhí)行所述程序代碼的所述控制器從所述多個區(qū)塊中篩選出具 有無效頁的至少一第一區(qū)塊,并且移動所述第一區(qū)塊中的一部分有效頁的數(shù)據(jù)至一第二區(qū) 塊;以及所述第一區(qū)塊中的全部有效頁的數(shù)據(jù)并非一次就都被移動至所述第二區(qū)塊。
      16.根據(jù)權(quán)利要求15所述的記憶裝置的控制器,其特征在于,其中通過所述微處理器 執(zhí)行所述程序代碼的所述控制器依據(jù)所述多個區(qū)塊的至少一部分區(qū)塊的有效頁的數(shù)量或 無效頁的數(shù)量,從所述多個區(qū)塊中篩選出具有無效頁的所述至少一第一區(qū)塊。
      17.根據(jù)權(quán)利要求16所述的記憶裝置的控制器,其特征在于,其中所述至少一部分區(qū) 塊包含所述多個區(qū)塊的全部區(qū)塊。
      18.根據(jù)權(quán)利要求16所述的記憶裝置的控制器,其特征在于,其中通過所述微處理器 執(zhí)行所述程序代碼的所述控制器記錄所述至少一部分區(qū)塊的無效頁的數(shù)量。
      19.根據(jù)權(quán)利要求16所述的記憶裝置的控制器,其特征在于,其中通過所述微處理器 執(zhí)行所述程序代碼的所述控制器記錄所述至少一部分區(qū)塊的有效頁的數(shù)量。
      20.根據(jù)權(quán)利要求15所述的記憶裝置的控制器,其特征在于,其中通過所述微處理器 執(zhí)行所述程序代碼的所述控制器從所述多個區(qū)塊中篩選出具有較多無效頁的區(qū)塊,作為所 述至少一第一區(qū)塊。
      21.根據(jù)權(quán)利要求15所述的記憶裝置的控制器,其特征在于,其中通過所述微處理器 執(zhí)行所述程序代碼的所述控制器從所述多個區(qū)塊中篩選出具有最多無效頁的區(qū)塊,作為所 述至少一第一區(qū)塊。
      22.根據(jù)權(quán)利要求15所述的記憶裝置的控制器,其特征在于,其中當接收到來自一主 裝置的一寫入命令時,通過所述微處理器執(zhí)行所述程序代碼的所述控制器將對應(yīng)于所述寫 入命令的數(shù)據(jù)寫入所述第二區(qū)塊,并且移動所述第一區(qū)塊中的所述部分有效頁的數(shù)據(jù)至所 述第二區(qū)塊。
      23.根據(jù)權(quán)利要求22所述的記憶裝置的控制器,其特征在于,其中在將對應(yīng)于所述寫 入命令的數(shù)據(jù)寫入所述第二區(qū)塊之前,通過所述微處理器執(zhí)行所述程序代碼的所述控制器移動所述第一區(qū)塊中的所述部分有效頁的數(shù)據(jù)至所述第二區(qū)塊。
      24.根據(jù)權(quán)利要求22所述的記憶裝置的控制器,其特征在于,其中在將對應(yīng)于所述寫 入命令的數(shù)據(jù)寫入所述第二區(qū)塊之后,通過所述微處理器執(zhí)行所述程序代碼的所述控制器 移動所述第一區(qū)塊中的所述部分有效頁的數(shù)據(jù)至所述第二區(qū)塊。
      25.根據(jù)權(quán)利要求15所述的記憶裝置的控制器,其特征在于,其中通過所述微處理器 執(zhí)行所述程序代碼的所述控制器還將所述第一區(qū)塊中的所述部分有效頁重新標示為無效 頁。
      26.根據(jù)權(quán)利要求15所述的記憶裝置的控制器,其特征在于,其中通過所述微處理器 執(zhí)行所述程序代碼的所述控制器修改一邏輯實體地址鏈接表,使原本鏈接至所述第一區(qū)塊 中的所述部分有效頁的至少一邏輯地址重新鏈接至所述第二區(qū)塊的至少一記憶頁。
      27.根據(jù)權(quán)利要求15所述的記憶裝置的控制器,其特征在于,其中通過所述微處理器 執(zhí)行所述程序代碼的所述控制器將所述第一區(qū)塊中的所述部分有效頁的數(shù)據(jù)移動至所述 第二區(qū)塊的任意記憶頁,而無需將所述部分有效頁的數(shù)據(jù)移動到所述第二區(qū)塊中對應(yīng)所述 第一區(qū)塊中的所述部分有效頁的記憶頁。
      全文摘要
      本發(fā)明提供一種用于管理閃存的多個區(qū)塊的方法以及相關(guān)的記憶裝置及其控制器,所述方法包括從所述多個區(qū)塊中篩選出具有無效頁的至少第一區(qū)塊;以及移動所述第一區(qū)塊中的一部分有效頁的數(shù)據(jù)至第二區(qū)塊,其中所述第一區(qū)塊中的全部有效頁的數(shù)據(jù)并非一次就都被移動至所述第二區(qū)塊。本發(fā)明還提供相關(guān)的記憶裝置及其控制器,其中所述控制器包括只讀存儲器,用于儲存程序代碼;以及微處理器,用于執(zhí)行所述程序代碼以控制對所述閃存的存取以及管理所述多個區(qū)塊。所述控制器從該多個區(qū)塊中篩選出所述第一區(qū)塊,并且移動所述第一區(qū)塊中的所述部分有效頁的數(shù)據(jù)至所述第二區(qū)塊。
      文檔編號G06F12/06GK102033811SQ20091017975
      公開日2011年4月27日 申請日期2009年9月24日 優(yōu)先權(quán)日2009年9月24日
      發(fā)明者李俊坤 申請人:慧榮科技股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1