數據儲存裝置以及快閃存儲器控制方法
【專利摘要】本發明揭示了一種數據儲存裝置以及快閃存儲器控制方法。是以快閃存儲器實現的數據儲存裝置的損壞標示技術。耦接該快閃存儲器的一控制器于儲存數據至該快閃存儲器時還將數據對應的至少一時間標簽也儲存至該快閃存儲器。于識別損壞區塊時,該控制器根據上述時間標簽將非確實物理損壞的區塊排除。快閃存儲器因而免于過早被限定為寫入保護,使用壽命顯著延長。
【專利說明】數據儲存裝置以及快閃存儲器控制方法
【技術領域】
[0001]本發明涉及以快閃存儲器(FLASH memory)實現的一種數據儲存裝置,還涉及一種快閃存儲器控制方法。
【背景技術】
[0002]現今數據儲存裝置常以快閃存儲器(FLASH memory)為儲存媒體,常用作:存儲卡(memory card)、通用序列總線閃存裝置(USB flash device)、固態硬盤(SSD)…等產品。另外有一種應用是采多芯片封裝、將快閃存儲器芯片與控制芯片包成一顆芯片一稱為嵌入式快閃存儲器模塊(eMMC)。
[0003]快閃存儲器的儲存空間劃分為多個區塊(blocks),各區塊包括多頁(pages)。擦除操作(erase operation)是以區塊為單位。整個區塊的內容完整擦除后,該個區塊方能釋出待下次配置使用。快閃存儲器操作技術會將擦除次數太多導致不堪使用的區塊標示為損壞。損壞的區塊越多,快閃存儲器內可用的閑置區塊就越少。一旦閑置區塊的數量低于一下限,此快閃存儲器就進入寫入保護(write protected),只能讀取,不能寫入數據。
【發明內容】
[0004]本發明揭示一種以快閃存儲器實現的數據儲存裝置,并且揭示一種快閃存儲器的控制方法,其中提供了精準的損壞區塊識別技術。
[0005]根據本發明一種實施方式所實現的一種數據儲存裝置包括一快閃存儲器以及耦接該快閃存儲器的一控制器。該快閃存儲器的儲存空間劃分為多個區塊。各區塊包括多頁。該控制器于儲存數據至該快閃存儲器時還將數據對應的至少一時間標簽也儲存至該快閃存儲器。于識別儲 存該數據的區塊是否為損壞區塊時,控制器是根據上述時間標簽判斷該區塊是否確實物理損壞。僅因數據過于老舊(非確實物理損壞)而造成讀取困難的區塊不再被誤判為損壞。快閃存儲器的閑置區塊數量不再無謂下降。快閃存儲器因而免于過早被限定為寫入保護,使用壽命有效延長。
[0006]根據本發明一種實施方式所實現的快閃存儲器控制方法包括以下步驟:于儲存數據至一快閃存儲器時,還將數據對應的至少一時間標簽也儲存至該快閃存儲器,上述快閃存儲器的儲存空間劃分為多個區塊;以及,于識別儲存該數據的區塊是否為損壞區塊時根據上述時間標簽判斷該區塊是否確實物理損壞。
[0007]下文特舉實施例,并結合附圖詳細說明本
【發明內容】
。
【專利附圖】
【附圖說明】
[0008]圖1為根據本發明一種實施方式所實現的一數據儲存裝置100,其中包括一快閃存儲器(FLASH memory) 102以及一控制器104 ;且
[0009]圖2以流程圖更詳細圖解根據本發明一種實施方式所實現的快閃存儲器102損壞空間識別方法。[0010]附圖符號說明
[0011]100~數據儲存裝置;
[0012]102~快閃存儲器;
[0013]104~控制器;
[0014]106 ~主機;
[0015]108~系統信息空間;
[0016]110~閑置空間;
[0017]112~損壞記錄;
[0018]114~時間參考;
[0019]Data_Blkl、Data_Blk2 ~數據區塊;
[0020]S202…S214 ~步驟。
【具體實施方式】
[0021]以下敘述列舉 際發明范圍應依照本發明的權利要求界定。
[0022]圖1為根據本發明一種實施方式所實現的一數據儲存裝置100,其中包括一快閃存儲器(FLASH memory) 102以及一控制器104。控制器104可根據主機106的要求,下達指令操作該快閃存儲器102。
[0023]快閃存儲器102的儲存空間劃分為多個區塊(blocks),更近一步地,各區塊包括多頁(pages)。擦除操作(erase operation)是以區塊為單位。整個區塊的內容完整擦除后,該區塊方能釋出待下次配置使用。參考圖1,在一實施例中,快閃存儲器102中部分區塊是作為系統信息空間108使用,儲存數據的區塊則有Data_Blkl、Data_Blk2…等,閑置沒有使用的區塊則可屬閑置空間110。控制器104在系統信息空間108作一損壞記錄112,標記不堪使用的區塊。損壞的區塊越多,可釋放作閑置空間110的閑置區塊的區塊就越少。一旦閑置空間110的區塊數量低于一下限,此快閃存儲器102就整體進入寫入保護(writeprotected),只能讀取,不能寫入數據。
[0024]根據本發明所揭示的技術,控制器104是耦接快閃存儲器102,其于儲存數據至該快閃存儲器102時還將數據對應的至少一時間標簽(time stamp)也儲存至該快閃存儲器102,并于識別儲存該數據的區塊是否為損壞區塊時將上述時間標簽考慮于其中,根據上述時間標簽判斷該區塊是否確實物理損壞。如此一來,僅因數據過于老舊(非確實物理損壞)而造成讀取困難的區塊不再被誤判為損壞。快閃存儲器102的閑置區塊數量不再無謂下降。快閃存儲器102免于過早被限定為寫入保護,壽命有效延長。
[0025]參閱數據區塊Data_Blk2,根據本發明所揭示的技術,每頁數據對應一時間標簽,且各頁數據的時間標簽是與該頁數據(data)與該頁數據相關信息(info) —同儲存于該頁物理空間。在一優選實施例中,各頁數據的時間標簽是儲存于該頁的標頭(header)中。所述時間標簽可為標準時間,標示“日期”、甚至詳細時刻。或者,成本考量下,所述時間標簽可簡單根據系統一上電計數(power-on count)設置。所述上電計數是計數數據儲存裝置100上電次數。控制器104將數據寫入快閃存儲器102時,是將系統當下的上電計數的數值作為該數據的時間標簽。如此一來,將來在核對數據時間標簽時,與系統上電計數差距越大者代表數據越老舊。
[0026]于圖1所不實施方式,控制器104是在系統信息空間108記錄一時間參考114,表征當前系統所處的時間以助于評量先前所儲存的時間標簽,即,比較時間參考114與時間標簽以判斷儲存對應時間標簽的數據的區塊是否確實物理損壞。此外,當控制器104于儲存數據至快閃存儲器102時,是根據那時的時間參考114設定數據對應的時間標簽。一種實施方式是將標準時間填入作為該時間參考114。或者,成本考量下,系統上電計數也可被用來記錄作該時間參考112。或者,數據儲存裝置100自身可還設計有一時鐘,即可用來作為時間參考。
[0027]在一種實施方式中,控制器104是于讀取該快閃存儲器102 —空間的數據發生困難時判斷該空間的數據所對應的時間標簽是否超越時間參考114 一閾值,以判斷該空間所對應的區塊是否確實物理損壞。若超越該閾值,則代表該空間的數據讀取困難有可能是源自于數據過于老舊,而非該空間所對應的區塊發生物理損壞。若未超越該閾值,則代表該空間的數據并非老數據,因此該空間的數據讀取困難可判定為該空間所對應的區塊發生物理損壞。該空間可能是小于一個區塊的存儲空間,例如多頁的存儲空間;也可能是多個區塊的存儲空間,而在一實施例中,損壞識別是以區塊為單位,即是說,即使一個區塊中僅部分的空間發生物理損壞,該空間所在的這個區塊都會被標記為損壞。
[0028]圖2以流程圖還詳細圖解根據本發明一種實施方式所實現的快閃存儲器102損壞空間識別方法。所述損壞空間識別可在讀取該快閃存儲器102內數據時實施。或者,另有實施方式是定時掃描該快閃存儲器102作損壞空間識別。在一實施例中,于儲存數據至快閃存儲器102時,還將數據對應的至少一時間標簽也儲存至快閃存儲器102,快閃存儲器102的儲存空間劃分為多個區塊;之后,當識別儲存該數據的一區塊是否為損壞區塊時,根據上述時間標簽判斷該區塊是否確實物理損壞。詳言之,即于讀取快閃存儲器102 —空間的數據發生困難時,判斷該空間的數據所對應的時間標簽是否超越一時間參考一閾值,以判定該空間所對應的區塊是確實物理損壞。以下參考圖2詳細敘述。
[0029]若于步驟S202判定讀取一空間的數據發生困難時(例如,無法讀取數據,或者,重復讀取動作多次方讀出數據),程序進行步驟S204,將該空間的數據備份(如,復制到其他區塊,英文稱reclaim)。在某些實施例中,步驟S204還包括在備份處儲存備份版本的時間標簽,是與當前系統的時間參考114同步。又或者,若步驟S202判定數據讀取正常,程序進行步驟S206,判定該空間正常。
[0030]于步驟S204后,程序進行步驟S208,把損壞識別待確定的該處空間的數據所對應的時間標簽拿來與時間參考114作比較。若該空間的數據所對應的時間標簽不超越時間參考114 一閾值,S卩非老數據,則程序進行步驟S210,將該空間所對應的區塊標記為損壞。若該空間的數據所對應的時間標簽超越時間參考114該閾值,即老數據,則程序進行步驟S212,對損壞識別待確定的該處空間作耐受度測試(stress confirm)。若步驟S212判定該處空間不通過上述耐受度測試,則程序進行步驟S210,將該處空間的區塊標示為損壞區塊。反之,若步驟S212判定該處空間通過上述耐受度測試,則程序進行步驟S214,判定該空間的數據讀取困難是源自于數據過于老舊,并非物理損壞。步驟S214還包括將通過上述耐受度測試的該處空間的區塊釋出,待后續配置使用。
[0031]步驟S212所作的耐受度測試可包括:將該處空間所對應的區塊一一完整擦除后再寫入測試數據;以及,于上述測試數據得以被正確讀出時判定該該處空間通過上述耐受度測試,反之,則判定該處空間不通過上述耐受度測試。
[0032]上述實施方式所述的控制器104除了可為特別設計的芯片外,也可以運算單元與只讀存儲器(ROM)組合實現。以上所揭示的技術步驟可以固件實現,相關程序碼載于控制器內的只讀存儲器,由控制器內的運算單元執行。此外,凡采用同樣概念控制一快閃存儲器的技術都屬于本發明所欲保護的范圍。本發明還涉及快閃存儲器的控制方法,不限定以特定架構的控制器實現。
[0033]雖然本發明已以較佳實施例揭示如上,然其并非用以限定本發明,本領域的技術人員,在不脫離本發明的精神和范圍的前提下,可做些許更動與潤飾,因此本發明的保護范圍是以本發明的權利要求為準。
【權利要求】
1.一種數據儲存裝置,包括: 一快閃存儲器,其儲存空間劃分為多個區塊;以及 耦接該快閃存儲器的一控制器,于儲存數據至該快閃存儲器時還將該數據對應的至少一時間標簽也儲存至該快閃存儲器,并于識別儲存該數據的一區塊是否為損壞區塊時根據上述時間標簽判斷該區塊是否確實物理損壞。
2.如權利要求1所述的數據儲存裝置,其中: 該控制器還在該快閃存儲器上述區塊之中的一系統區塊記錄一時間參考,用于與上述時間標簽比較以判斷該區塊是否確實物理損壞;且 該控制器于儲存數據至該快閃存儲器時,根據上述時間參考設定上述時間標簽。
3.如權利要求1所述的數據儲存裝置,其中: 該控制器于讀取該快閃存儲器一空間的數據發生困難時,判斷該空間的數據所對應的時間標簽是否超越一時間參考一閾值,以判定該空間所對應的區塊是確實物理損壞。
4.如權利要求1所述的資料數據儲存裝置,其中: 上述時間標簽儲存于該空間的標頭。
5.—種快閃存儲器控制方法,包括: 于儲存數據至一快閃存儲器時,還將該數據對應的至少一時間標簽也儲存至該快閃存儲器,上述快閃存儲器的儲存空間劃分為多個區塊;以及 于識別儲存該數據的一區塊是否為損壞區塊時根據上述時間標簽判斷該區塊是否確實物理損壞。
6.如權利要求5所述的快閃存儲器控制方法,包括: 于讀取該快閃存儲器一空間的數據發生困難時,判斷該空間的數據所對應的時間標簽是否超越一時間參考一閾值,以判斷該空間所對應的區塊是否確實物理損壞。
7.如權利要求5所述的快閃存儲器控制方法,包括: 于讀取該快閃存儲器一空間的數據發生困難時,備份該空間的數據,繼以判斷該空間的數據所對應的時間標簽是否超越一時間參考一閾值; 于判定該空間的數據所對應的時間標簽不超越上述時間參考上述閾值時,將該空間所對應的區塊標記為損壞; 于判定該空間的數據所對應的時間標簽超越上述時間參考上述閾值后還對該空間作耐受度測試; 于該空間通過上述耐受度測試時,判定該空間的數據讀取困難是源自于數據過于老舊;并且 于該空間不通過上述耐受度測試時,將該空間所對應的區塊標記為損壞。
8.如權利要求7所述的快閃存儲器控制方法,包括: 于對數據讀取發生困難的該空間的數據作備份時,將備份處的時鐘標簽同步為上述時鐘參考。
9.如權利要求7所述的快閃存儲器控制方法,包括: 將通過上述耐受度測試的該空間的區塊釋出,待后續配置使用。
10.如權利要求7所述的快閃存儲器控制方法,包括: 于耐受度測試中,將受測該空間的區塊一一完整擦除后再寫入測試數據,并且,于上述測試數據得以被正確讀出時判定該空間通過上述耐受度測試,反之,則判定該空間不通過上述耐受度測試。
11.如權利要求5所述的快閃存儲器控制方法,包括: 上述快閃存儲器的各區塊包括多頁,每頁對應一個時間標簽。
12.如權利要求5所述的快閃存儲器控制方法,包括: 定時掃描該快閃存儲器,以識別損壞區塊。
【文檔編號】G06F3/06GK103927128SQ201410084448
【公開日】2014年7月16日 申請日期:2014年3月10日 優先權日:2013年7月11日
【發明者】蔡金印, 賴義麟 申請人:威盛電子股份有限公司