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