專利名稱:數(shù)據移動方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及一種數(shù)據移動方法及系統(tǒng),更具體地,是關于一種可節(jié)省不必要的寫
入步驟的數(shù)據移動方法及系統(tǒng)。
背景技術:
圖1是現(xiàn)有技術中與非門閃存(NAND flash)的復制操作的示意圖。如圖1所示, 數(shù)據是從NAND閃存的源方塊(source block) 101復制而來,且源方塊101包括多個源頁面, 例如源頁面103、 105和107,同時,目標方塊包含多個目標頁面,例如,目標頁面111、113和 115。應注意,圖中只表示出了部分源頁面以及目標頁面。目標方塊109先整體擦除,然后 從源方塊101復制的數(shù)據寫入目標方塊109。但是,源方塊101的一些頁面(例如源頁面 105和107)只包括空數(shù)據(blank data)(在本例中為0xff的樣式),因此,在復制操作后, 目標頁面(例如目標頁面113和115)也將只包括空數(shù)據。 本領域普通技術人員了解,空數(shù)據意味著該頁面為空(empty)。因此,對空數(shù)據的 復制和寫入操作沒有意義且不必要,也浪費時間及大量系統(tǒng)資源。類似地,在復制和寫入操 作之前,若目標方塊109原本就包括一些與源方塊101中相應頁面具有相同數(shù)據樣式的頁 面,則對于這些樣式的復制和寫入操作也是不必要且浪費系統(tǒng)資源的。
發(fā)明內容
為解決現(xiàn)有技術對空數(shù)據、相同數(shù)據樣式的數(shù)據等等的復制和寫入操作浪費時間 及系統(tǒng)資源的問題,本發(fā)明的目的之一是提供數(shù)據移動方法及系統(tǒng)。 本發(fā)明提供一種數(shù)據移動方法,包含偵測欲從存儲單元的源數(shù)據單元寫入的數(shù) 據是否包含特定的樣式;以及若欲寫入目標數(shù)據單元的該數(shù)據包括該特定的樣式,在寫入 該數(shù)據時簡化寫入操作。 本發(fā)明另提供一種數(shù)據移動方法,包含偵測欲從存儲單元的至少源數(shù)據單元寫 入的數(shù)據是否包含特定的樣式;以及從源數(shù)據方塊向目標數(shù)據方塊寫入該數(shù)據時,若該數(shù) 據包括該特定的樣式,就簡化寫入操作,其中,該源數(shù)據方塊包括至少一個源數(shù)據單元,該 目標數(shù)據方塊包括至少一個目標數(shù)據單元。 本發(fā)明還提供一種數(shù)據移動系統(tǒng),包含樣式偵測器,用于偵測欲從存儲單元的源 數(shù)據單元寫入的數(shù)據是否包含特定的樣式;以及處理器,若欲寫入目標數(shù)據單元的該數(shù)據 包括該特定的樣式,在寫入該數(shù)據時簡化寫入操作。 本發(fā)明所提供數(shù)據移動方法及系統(tǒng)可以避免不必要的寫入操作,提高存取速度, 減少系統(tǒng)資源的消耗。
圖1是現(xiàn)有技術中NAND閃存的復制操作的方塊示意圖。
圖2是根據本發(fā)明一個實施例的數(shù)據移動方法的流程圖。
圖3a是根據本發(fā)明一個實施例,數(shù)據移動方法的省略操作的示意圖。 圖3b是根據本發(fā)明一個實施例的數(shù)據移動方法操作的示意圖。 圖4是根據本發(fā)明一個實施例的數(shù)據移動方法的流程圖。 圖5是圖4所示實施例的細節(jié)步驟的一個例子的流程圖。 圖6是圖4所示實施例的細節(jié)步驟的另一例子的流程圖。 圖7是根據本發(fā)明實施例應用數(shù)據移動方法的示意圖。 圖8是利用前述數(shù)據移動方法的閃存控制器的方塊示意圖。
具體實施例方式
在說明書及后續(xù)的申請專利范圍當中使用了某些詞匯來指稱特定組件。所屬領域 中具有通常知識者應可理解,制造商可能會用不同的名詞來稱呼同一個組件。本說明書及 后續(xù)的權利要求并不以名稱的差異來作為區(qū)分組件的方式,而是以組件在功能上的差異來 作為區(qū)分的準則。在通篇說明書及后續(xù)的權利要求當中所提及的"包括"和"包含"為一開 放式的用語,故應解釋成"包含但不限定于"。以外,"耦接"一詞在此為包含任何直接及間 接的電氣連接手段。間接的電氣連接手段包括通過其它裝置進行連接。
圖2是根據本發(fā)明一個實施例的數(shù)據移動方法的流程圖。如圖2所示,數(shù)據移動 方法包括步驟201和步驟203。步驟201偵測欲從存儲單元的源數(shù)據單元(例如圖1中的 源方塊101或其中的源頁面)寫入的數(shù)據是否包括特定的樣式。步驟203中,若欲寫入的 數(shù)據包括特定的樣式,則向目標數(shù)據單元(例如圖1中的目標頁面113)寫入數(shù)據時,就簡 化寫入的操作。 所述特定的樣式可以是任何樣式,而簡化寫入操作的意義也隨之相應地變化。以 圖1為例,特定的樣式是指Oxff,簡化寫入操作就意味著"不將數(shù)據從源數(shù)據單元寫入目標 數(shù)據單元",因為空數(shù)據是無需復制操作的。 圖3a是根據本發(fā)明一個實施例,數(shù)據移動方法的省略操作的示意圖。如圖3a所 示,源方塊302中的源頁面304包括非空數(shù)據(real data),圖中未具體示出的源頁面也包 括非空數(shù)據。但源頁面306和源頁面308包含空數(shù)據(例如0x00. . 00)。因此,當源方塊 302中的數(shù)據復制到目標方塊310時,源頁面304中的數(shù)據就復制到對應的目標頁面312。 未具體示出的源頁面中的數(shù)據也復制到對應的目標頁面。但是,從源頁面306和源頁面308 到對應的目標頁面314和目標頁面317的復制和寫入操作就被省略。以這種方式,可以加 速源方塊302與目標方塊310之間的復制和寫入操作,也可以節(jié)省系統(tǒng)資源。
圖3b是根據本發(fā)明一個實施例的數(shù)據移動方法操作的示意圖。其中,源方塊301 中的數(shù)據復制到目標方塊309。源頁面305、源頁面307中特定的樣式也可以是其它指示空 數(shù)據的樣式,例如OxOO。對應的目標頁面313和目標頁面315應該為空,并利用Oxff來指示 空數(shù)據。在此,簡化寫入操作是意味著"標記目標頁面,例如添加一個空標記(null flag)"。
請注意,雖然利用了 NAND閃存來解釋如圖2所示的實施例,但根據本發(fā)明實施例 的數(shù)據移動方法也可以利用例如或非門(NOR)閃存的其它存儲器。NOR閃存可經由不同類 型的數(shù)據單元隨機存取數(shù)據。因此,源數(shù)據單元和目標數(shù)據單元也可以是除頁面以外的其 它數(shù)據單元。 請注意,不同類型閃存的頁面(page)大小(size)是不同的,可能是4KB、2KB或者512B。當頁面大小為2KB時,一個頁面可以容納4個扇區(qū)(sector),每一扇區(qū)大小為512B。
在另一實施例中,數(shù)據單元也可以是扇區(qū),其中,扇區(qū)是比頁面小的單元。 圖4是根據本發(fā)明一個實施例的數(shù)據移動方法的流程圖。如圖4所示,數(shù)據移動
方法包括步驟401和步驟403。步驟401中,偵測欲從存儲單元(例如NAND閃存)的至少
一個源數(shù)據單元寫入的數(shù)據是否包括特定的樣式。步驟403中,若數(shù)據包括特定的樣式,從
源數(shù)據方塊至目標數(shù)據方塊寫入數(shù)據時,就簡化寫入操作。源數(shù)據方塊包括至少一個源數(shù)
據單元,目標數(shù)據方塊包括至少一個目標數(shù)據單元。 簡化寫入操作的步驟可以包括從第一源數(shù)據單元到第二目標數(shù)據單元不寫入數(shù) 據。簡化寫入操作的步驟可進一步包括標記第二目標數(shù)據單元。 以圖1所示的NAND閃存為例。根據本發(fā)明一個實施例的數(shù)據移動方法,從源方塊 101 (第二源數(shù)據單元)至目標方塊109 (第一 目標數(shù)據單元)復制數(shù)據時,偵測源頁面105、 源頁面107(第一源數(shù)據單元)是否包括特定的樣式。圖2與圖4所示的實施例相比,圖2 所示的實施例是在復制小數(shù)據單元中的數(shù)據至另一小數(shù)據單元時,檢查小數(shù)據單元(例如 頁面或扇區(qū))是否具有特定的樣式;圖4所示的實施例則是復制大數(shù)據單元(例如方塊或 頁面)中的數(shù)據到另一大數(shù)據單元時,檢查小數(shù)據單元(例如頁面或扇區(qū))是否具有特定 的樣式。 簡化寫入操作的步驟可以包括從源頁面105、源頁面107到目標頁面113、目標頁 面115(第二目標數(shù)據單元)不寫入數(shù)據。簡化寫入操作的步驟也可進一步包括標記目標 頁面113、目標頁面115。例如,如圖3b所示添加空標記。 圖5是圖4所示實施例的細節(jié)步驟的一個例子的流程圖。請注意,此細節(jié)步驟僅 為舉例,并不意味著對本發(fā)明范圍的限縮。圖5所示的步驟包括步驟501 519。步驟501 將頁面地址設置為方塊的起始。步驟503從源方塊(例如源方塊IOI)讀取頁面數(shù)據(例 如源頁面105和源頁面107中的數(shù)據)。步驟505利用樣式偵測機制來檢查源頁面數(shù)據,也 就是說,偵測源頁面數(shù)據是否包括特定的樣式。 步驟507確定源頁面數(shù)據是否包括特定的樣式,若源頁面數(shù)據包括特定的樣式, 就轉到步驟511 ;若源頁面數(shù)據不包括特定的樣式,則轉到步驟509。步驟509實施錯誤校 正碼(Error Correction Code, ECC)校正。由于某些類型的存儲器需要ECC校正,而另一 些類型則無需校正,因此步驟509也可以省略。步驟511跳過(skip)寫入操作,也就是說, 不將具有特定的樣式的數(shù)據復制到對應的目標頁面。在步驟513,將源頁面中的數(shù)據復制到 目標頁面。在步驟515,需要確定頁面地址是否到達方塊末端,若是,就轉到步驟519并結 束;若否,則轉到步驟517。在步驟517,將頁面地址移動到下一頁面,并轉回到步驟503。
圖6是圖4所示實施例的細節(jié)步驟的另一例子的流程圖。與圖5所示的步驟相比, 在圖6中步驟511被步驟611代替。步驟511是跳過寫入操作,而步驟611是標記目標頁 面(例如,如圖3b所示添加空標記)。 圖7是根據本發(fā)明實施例應用數(shù)據移動方法的示意圖,這里僅為舉例,并非用以 限縮本發(fā)明的范圍。圖7(a)是均衡磨損(wear-leveling)操作的示意圖,指示將源方塊 701中的冷數(shù)據(cold data)移動到頻繁被存取的目標方塊703,以使得各個方塊可以平均 地被存取。而冷數(shù)據是指被存取次數(shù)比其它數(shù)據少的數(shù)據。由于均衡磨損這種機制限制了 方塊被存取的次數(shù),因此可以避免某些方塊過度磨損而導致?lián)p壞(broken)。這樣一來,在均衡磨損操作中,方塊復制操作就是必要的,從而可在復制操作中應用根據本發(fā)明實施例 的數(shù)據移動方法。由于均衡磨損操作為本領域普通技術人員周知,為簡潔起見,此處不再贅 述。 圖7 (b)是被稱為方塊合并(block merge)的操作的示意圖,該操作指示一個邏輯 方塊地址(Logical Block Address, LBA)對應了多于一個物理方塊,例如物理方塊705和 物理方塊707。由此,若物理方塊的頁面存儲了不必要的數(shù)據,例如頁面709和頁面711,就 浪費了存儲空間。因此,可以移除不必要的數(shù)據,而其余數(shù)據可以從物理方塊705和物理方 塊707復制到目標方塊713,這種方式可以節(jié)省物理方塊705和物理方塊707的存儲空間。 由此,在方塊合并操作中,方塊復制操作也是必要的,從而可在復制操作中應用根據本發(fā)明 實施例的數(shù)據移動方法。由于方塊合并操作為本領域普通技術人員周知,為簡潔起見,此處 不再贅述。 圖8是利用前述數(shù)據移動方法的閃存控制器的方塊示意圖。但是請注意,前述數(shù) 據移動方法并不僅限于應用在如圖8所示的閃存控制器中,圖8所示的裝置個數(shù)及位置并 非用以限縮本發(fā)明的范圍。如圖8所示,利用閃存控制器803控制閃存801。閃存控制器 803包括CPU 805,解譯器(interpreter)807, ECC 809,寄存器811,樣式偵測器813。 CPU 805用于控制閃存控制器803中各裝置的操作。解譯器807可作為用于在閃存控制器803 和閃存801之間通信的一個接口 (interface) 。 ECC 809用于對欲寫入的數(shù)據實施ECC操 作,接著,經過ECC 809校正后的數(shù)據保存到存儲器815。寄存器811用于暫存需要ECC校 正的數(shù)據。利用樣式偵測器813偵測欲寫入的數(shù)據是否具有特定的樣式。
根據以上描述,若樣式偵測器813偵測到數(shù)據包括特定的樣式,就簡化寫入操作。 并且如果必要,由ECC 809對數(shù)據實施ECC校正操作。之后,經過ECC校正后的數(shù)據存儲到 存儲器815。 根據上述的實施例,本發(fā)明可以避免不必要的寫入操作,提高了存取速度,減少了 系統(tǒng)資源的消耗。 任何本領域的普通技術人員,在不脫離本發(fā)明的精神和范圍內,當可做些許的更 動與潤飾,因此本發(fā)明的保護范圍當視所附的權利要求所界定者為準。
權利要求
一種數(shù)據移動方法,其特征在于包含偵測欲從存儲單元的源數(shù)據單元寫入的數(shù)據是否包含特定的樣式;以及若欲寫入目標數(shù)據單元的該數(shù)據包括該特定的樣式,在寫入該數(shù)據時簡化寫入操作。
2. 如權利要求1所述的數(shù)據移動方法,其特征在于,該存儲單元是與非門閃存,該源數(shù) 據單元和該目標數(shù)據單元是頁面或扇區(qū)。
3. 如權利要求1所述的數(shù)據移動方法,其特征在于,該存儲單元是或非門閃存。
4. 如權利要求1所述的數(shù)據移動方法,其特征在于,該特定的樣式是指示空數(shù)據的樣 式。
5. 如權利要求1所述的數(shù)據移動方法,其特征在于,簡化該寫入操作的步驟包括 不將該數(shù)據寫入該目標數(shù)據單元。
6. 如權利要求5所述的數(shù)據移動方法,其特征在于,簡化該寫入操作的步驟進一步包括標記該目標數(shù)據單元。
7. —種數(shù)據移動方法,包含偵測欲從存儲單元的至少一個源數(shù)據單元寫入的數(shù)據是否包含特定的樣式;以及 從源數(shù)據方塊向目標數(shù)據方塊寫入該數(shù)據時,若該數(shù)據包括該特定的樣式,則簡化寫入操作,其中,該源數(shù)據方塊包括至少一個源數(shù)據單元,該目標數(shù)據方塊包括至少一個目標數(shù)據單元。
8. 如權利要求7所述的數(shù)據移動方法,其特征在于,該存儲單元是與非門閃存,該源數(shù) 據單元和該目標數(shù)據單元是頁面或扇區(qū)。
9. 如權利要求7所述的數(shù)據移動方法,其特征在于,該存儲單元是或非門閃存。
10. 如權利要求7所述的數(shù)據移動方法,其特征在于,該特定的樣式是指示空數(shù)據的樣式。
11. 如權利要求7所述的數(shù)據移動方法,其特征在于,簡化該寫入操作的步驟包括 不將來自第一源數(shù)據單元的該數(shù)據寫入第二目標數(shù)據單元。
12. 如權利要求11所述的數(shù)據移動方法,其特征在于,簡化該寫入操作的步驟進一步 包括標記該目標數(shù)據單元。
13. —種數(shù)據移動系統(tǒng),其特征在于包含樣式偵測器,用于偵測欲從存儲單元的源數(shù)據單元寫入的數(shù)據是否包含特定的樣式;以及處理器,若欲寫入目標數(shù)據單元的該數(shù)據包括該特定的樣式,在寫入該數(shù)據時簡化寫 入操作。
14. 如權利要求13所述的數(shù)據移動系統(tǒng),其特征在于,該存儲單元是與非門閃存,該源 數(shù)據單元和該目標數(shù)據單元是頁面或扇區(qū)。
15. 如權利要求13所述的數(shù)據移動系統(tǒng),其特征在于,該存儲單元是或非門閃存。
16. 如權利要求13所述的數(shù)據移動系統(tǒng),其特征在于,該特定的樣式是指示空數(shù)據的 樣式。
17. 如權利要求13所述的數(shù)據移動系統(tǒng),其特征在于,該處理器簡化該寫入操作是不將該數(shù)據寫入該目標數(shù)據單元。
18.如權利要求17所述的數(shù)據移動系統(tǒng),其特征在于,該處理器簡化該寫入操作是標 記該目標數(shù)據單元。
全文摘要
一種數(shù)據移動方法及系統(tǒng)。其中數(shù)據移動系統(tǒng),包含樣式偵測器,用于偵測欲從存儲單元的源數(shù)據單元寫入的數(shù)據是否包含特定的樣式;以及處理器,若欲寫入目標數(shù)據單元的該數(shù)據包括該特定的樣式,在寫入該數(shù)據時簡化寫入操作。本發(fā)明提供的數(shù)據移動方法及系統(tǒng)可以避免不必要的寫入操作,提高了存取速度,減少了系統(tǒng)資源的消耗。
文檔編號G06F12/02GK101777024SQ20091011904
公開日2010年7月14日 申請日期2009年3月19日 優(yōu)先權日2009年1月8日
發(fā)明者朱清和, 林奕祥 申請人:聯(lián)發(fā)科技股份有限公司