專利名稱:非易失性存儲器裝置的控制方法
技術領域:
本發(fā)明涉及非易失性存儲器裝置的控制方法。
背景技術:
近年來,作為處理音樂數據和視頻數據的攜帶設備的存儲裝置,使用了具有可數據重寫、攜帶性高、不需要電池等后備的快閃存儲器等的非易失性存儲器的非易失性存儲器裝置(例如存儲卡)。
使用
圖1~圖4、圖24和圖25,說明現有的非易失性存儲器裝置的控制方法。圖1是示出非易失性存儲器裝置的結構的圖。在圖1中,101是非易失性存儲器裝置,102是主機。非易失性存儲器裝置101具有非易失性存儲器103、控制器104、清除完表105、邏輯地址/物理地址變換表106。非易失性存儲器103是快閃存儲器。主機102對非易失性存儲器裝置101指令數據的寫入和讀出等,傳輸寫入的數據,接收從非易失性存儲器裝置101送來的讀出數據。非易失性存儲器裝置101的控制器104基于來自主機102的指令,進行向非易失性存儲器103寫入數據或者讀出非易失性存儲器103的數據等的控制。
非易失性存儲器103由多個物理塊構成。用圖24說明物理塊的結構。圖24是示出現有例的非易失性存儲器103的物理塊的結構的圖。物理塊501由32個頁構成。一頁的容量是528字節(jié),區(qū)分為512字節(jié)的數據區(qū)域502和16字節(jié)的冗余區(qū)域503。數據區(qū)域502是寫入從主機102傳輸的數據的區(qū)域。冗余區(qū)域503是寫入數據區(qū)域502的ECC符號和與該物理塊501相對應的邏輯地址等的管理信息的區(qū)域。一頁是數據的寫入單位和讀出單位。在數據的寫入時,按頁單位,從物理塊的頁0向頁31依次寫入數據??梢允÷韵蚯宄甑拇鎯ζ鲗懭?的工作。物理塊501是數據的清除單位,在清除時,一次清除包含在物理塊中的全部32頁。在清除完的狀態(tài)中,非易失性存儲器103的數據全部的位是1。
非易失性存儲器裝置101的電源接通后,控制器104進行在RAM上生成清除完表105和邏輯地址/物理地址變換表106的初始化處理。
圖2是示出清除完表105的結構的圖。清除完表105是示出物理塊是否清除完(未寫入)的表,1位的數據與各物理塊相關聯。在圖2中,左欄是物理地址(將非易失性存儲器103的物理塊的地址稱作“物理地址”),右欄是1示出“清除完”,0示出“沒清除完”的數據。左欄的物理地址是為了說明而記載的,通常不寫入在RAM上。通常,用規(guī)定的變換式將物理地址變換為RAM的地址,在該RAM地址中寫入示出是否清除完(未寫入)的位。
例如,在初始化處理時,在物理地址0的物理塊的起始頁的冗余區(qū)域503中寫入著包含值0的位的數據的情況下(除起始頁的冗余區(qū)域503的全部位是1時以外的情況),判斷為寫入完了,在物理地址0的數據中寫入0。在物理地址1的物理塊的起始頁的冗余區(qū)域503全部是1的數據的情況下,判斷為清除完了,在物理地址1的數據中寫入1。這樣地,就完成直到最終物理地址的清除完表105。
圖3是示出邏輯地址/物理地址變換表106的結構的圖。在使用了非易失性存儲器103的非易失性存儲器裝置101中,一般地,從主機102指定的地址(稱作“邏輯地址”)與配置在非易失性存儲器103內的地址(稱作“物理地址”)不一致。這是因為,若使其一致,就不能使用在非易失性存儲器內產生了不良的物理地址,或者,由于數據重寫需要時間而對應用產生負擔。再有,在特定地址上寫入頻繁的系統中,產生了該物理地址在短時間中重寫保證次數(一般地,限制非易失性存儲器的重寫保證次數)增加而壽命變短的不妥。非易失性存儲器裝置101的控制器104將主機102指定的邏輯地址變換為物理地址,在物理塊的數據記錄時,向冗余區(qū)域503寫入與該物理塊相對應的邏輯地址。一般地,向起始頁的冗余區(qū)域503寫入邏輯地址。
非易失性存儲器裝置101的電源接通后,控制器104讀出寫入在物理塊的冗余區(qū)域503中的邏輯電址,在RAM上生成邏輯地址/物理地址變換表106。例如,在物理地址0的物理塊的起始頁中有數據,作為邏輯地址寫入了2的情況下,在邏輯地址/物理地址變換表106的與邏輯地址2相對應的物理地址上寫入0。在物理地址2的物理塊的起始頁中有數據,作為邏輯地址寫入了999的情況下,在邏輯地址/物理地址變換表106的與邏輯地址999相對應的物理地址上寫入2。在非易失性存儲器103中沒有對應的邏輯地址的數據的情況下,例如,在沒有作為邏輯地址而寫入了1的情況下,在邏輯地址/物理地址變換表106的與邏輯地址12相對應的物理地址上,寫入示出不存在數據的值1000。
圖4是現有的非易失性存儲器裝置101的初始化處理的流程圖。對塊計數器設定0(初始值)(步驟401)。控制器104讀出非易失性存儲器103的讀出對象即物理塊的起始頁的冗余區(qū)域503(步驟402)。判斷冗余區(qū)域503是否清除完(步驟403)。在冗余區(qū)域503全部是1的數據的情況下,判斷為清除完了,在寫入著包含值0的位的數據的情況下,判斷為寫入完了。若冗余區(qū)域503已清除完,就在清除完表105的該物理塊欄中寫入1,登記為物理塊已清除完(步驟404)。若冗余區(qū)域503沒清除完,就在清除完表105的該物理塊欄中寫入0(沒清除完)(步驟405)。若冗余區(qū)域503沒清除完,就進一步讀出冗余區(qū)域503中寫入著的邏輯地址,在邏輯地址/物理地址變換表106的與該邏輯地址相對應的位置上登記物理地址(步驟406)。判斷是否是最終物理塊(步驟407)。若不是最終物理塊,就對塊計數器加1(步驟408),返回到步驟402反復進行處理。若是最終物理塊,就結束初始化。
說明非易失性存儲器103的數據重寫方法。主機102對非易失性存儲器裝置101一指令數據寫入,控制器104就向非易失性存儲器103寫入從主機102傳輸的數據。圖25是現有例的非易失性存儲器裝置101的數據重寫方法的流程圖??刂破?04從清除完表105檢測清除完的物理塊,確保作為寫入目的地的物理塊(步驟601)。按頁單位向確保的物理塊中寫入數據(步驟603)。清除包含無效數據(由于寫入新數據而成為不需要的數據)的物理塊(舊物理塊)(步驟604)。也可以在此時直接清除舊物理塊,也可以暫且將該示出數據是否無效的標記置為示出無效的值,在另外的定時進行清除。更新清除完表105和邏輯地址/物理地址變換表106(步驟605)。具體地說,在清除完表105中,在與進行了寫入后的物理塊相對應的位中寫入0(寫入完了)。清除了舊物理塊(包含無效數據的物理塊)后,向與舊物理塊相對應的位中寫入1(清除完了)。更新邏輯地址/物理地址變換表106的與邏輯地址相對應的物理地址,示出已從舊物理塊進行了寫入的物理塊。
在步驟603中,在數據寫入中發(fā)生了電源切斷等的異常的情況下,恐怕寫入中途的物理塊的數據變?yōu)椴徽祿?br>
在日本特開2001-51883號公報中記載了現有例1的非易失性存儲器裝置,其具有帶自身修復功能的非易失性存儲器,在由于電源切斷的異常而在寫入中途結束了處理的情況下,在下一次啟動時自動地恢復到寫入前的狀態(tài)?,F有例1的非易失性存儲器裝置在存儲器外,具有寫入中標記、地址緩沖器和數據緩沖器。在數據寫入中,將寫入中標記設為有效狀態(tài),在除此以外的時候,將寫入中標記設為無效狀態(tài)。若啟動時寫入中標記是有效狀態(tài),就將數據緩沖器的內容寫入到地址緩沖器示出的存儲器區(qū)域中。再有,這樣,就能在啟動時恢復到異常寫入前的狀態(tài)。
在現有例的非易失性存儲器裝置中,在步驟603中正在向物理塊的起始頁寫入數據時發(fā)生了電源切斷等的異常的情況下,僅在數據區(qū)域502中寫入一部分數據,冗余區(qū)域503可能有所謂的清除完(未寫入)的狀態(tài)。若在該狀態(tài)下進行初始化處理,就以起始頁的冗余區(qū)域503的數據為基礎,生成清除完表105,因此,就將該物理塊誤判定為清除完。
在步驟604中在舊物理塊的清除中發(fā)生了電源切斷等的異常的情況下,可能有物理塊的起始頁清除完,其他頁還沒清除的狀態(tài)。若在該狀態(tài)下進行初始化處理,就將該舊物理塊誤判定為清除完。
若這樣地將沒清除完的物理塊誤判定為清除完,之后發(fā)生了數據寫入的情況下,就向被誤判定為清除完的物理塊中寫入數據。由于非易失性存儲器不能向寫入完的物理塊再寫數據(按頁單位,不能在0的位上寫入1),因此,就有不能正確地寫入而變?yōu)椴徽祿膯栴}。
此外,由于寫入中斷或清除中斷,可能有物理塊的起始頁的冗余區(qū)域寫入完了,其他頁沒寫入完的狀態(tài)。若在該狀態(tài)下進行初始化處理,就讀出已寫入在起始頁的冗余區(qū)域中的邏輯地址,登記在了邏輯地址/物理地址變換表106中。就將寫入中途或清除中途的物理塊誤判斷為寫入完的有效物理塊。很多情況下在物理塊的起始頁的冗余區(qū)域503中寫入著非易失性存儲器103的管理數據,若在初始化處理中生成錯誤的表,恐怕就不能對非易失性存儲器103進行存取。
現有例1的非易失性存儲器裝置必須在寫入數據前,向許多緩沖器(寫入中標記、地址緩沖器(邏輯地址緩沖器、舊物理地址緩沖器、新物理地址緩沖器)和數據緩沖器)寫入數據,因此,恐怕非易失性存儲器裝置的處理就變慢。
本發(fā)明的目的在于,提供一種實現在數據寫入中或清除中發(fā)生電源切斷等的異常而處理中斷了的情況下,也能正常地進行下一次啟動后的數據寫入的非易失性存儲器裝置的控制方法。這樣,能夠提供一種能正確地對非易失性存儲器進行存取,具有高數據可靠性的非易失性存儲器裝置的控制方法。
發(fā)明的內容為了解決上述課題,本發(fā)明具有下述結構。
本發(fā)明的一個觀點涉及的非易失性存儲器裝置的控制方法具有下述步驟控制步驟,使用清除完表和變換邏輯地址與物理地址的邏輯地址/物理地址變換表,控制上述非易失性存儲器的數據的寫入和讀出,所述清除完表示出非易失性存儲器的數據的最小清除單位即物理塊是否清除完;第一標記寫入步驟,向第一標記中寫入示出寫入著數據的固定值,所述第一標記設置在包含在上述物理塊中的、具有數據區(qū)域和冗余區(qū)域、是數據的最小寫入單位的多個頁中的起始頁的上述冗余區(qū)域中,示出該起始頁中是否寫入著數據;數據寫入步驟,向該物理塊寫入數據。
在現有的非易失性存儲器裝置的控制方法中,例如,在向由32頁構成的物理塊寫入數據的情況下,用將一頁作為單位的32次的寫入步驟寫入數據。但是,在寫入中途切斷了電源的情況下,存在數據寫入還沒結束的不正常的物理塊。若考慮這樣的突然的電源切斷,也想準確地知道一個物理塊是否清除完,就必須調查32頁的全部位,是全部位是1還是包含0的位。
也考慮在第一頁中劃分第一標記,與第一標記一起寫入第一頁的數據。但是,在第一頁的寫入中途切斷了電源的情況下,可能發(fā)生在第一頁的數據區(qū)域中正常寫入數據,沒寫入第一標記的狀態(tài)(剛要記錄了0,但該位的值仍是1的狀態(tài))。從而,在這樣的方法中,就難以判斷一個物理塊是否真的清除完了。
在本發(fā)明中,最初僅單獨寫入固定值(在實施方式中是00)的第一標記,之后,向32頁中寫入通常的數據。從而,若一旦開始了寫入,即使在寫入中切斷了電源,第一標記也確實是規(guī)定的固定值(例如00)。另外,若第一標記不是固定值(例如11),該物理塊確實清除完了。
本發(fā)明實現了即使在寫入中途切斷了電源,也能夠準確地檢測物理塊是否已清除完的非易失性存儲器裝置的控制方法。
本發(fā)明的其他觀點涉及的上述非易失性存儲器裝置的控制方法還具有初始化步驟,在非易失性存儲器裝置的啟動時,讀出上述非易失性存儲器的全部的上述物理塊的上述第一標記,基于上述第一標記是否寫入完了,生成邏輯地址/物理地址變換表和清除完表。
根據本發(fā)明,即使在數據寫入中途切斷了電源后的初始化處理中,也能用短時間生成正確的清除完表。這樣,能夠防止錯誤地向沒清除完的物理塊中寫數據。
本發(fā)明的另外的觀點涉及的非易失性存儲器裝置的控制方法具有下述步驟控制步驟,使用變換非易失性存儲器的邏輯地址與物理地址的邏輯地址/物理地址變換表,控制上述非易失性存儲器的數據的寫入和讀出;數據寫入步驟,向上述物理塊寫入數據;第二標記寫入步驟,向第二標記中寫入示出該物理塊中寫入著數據的固定值,所述第二標記設置在包含在上述物理塊中的、具有數據區(qū)域和冗余區(qū)域、是數據的最小寫入單位的多個頁中的規(guī)定頁的冗余區(qū)域中,示出該物理塊中是否寫入著數據。
在現有的非易失性存儲器裝置的控制方法中,例如,在向由32頁構成的物理塊寫入數據的情況下,用將一頁作為單位的32次的寫入步驟寫入數據。但是,在寫入中途切斷了電源的情況下,產生了數據的寫入還沒結束的不正常的物理塊。若考慮這樣的突然的電源切斷,就難以判斷一個物理塊是否真的寫入完了。
也考慮在規(guī)定頁最好是第32頁中劃分第二標記,與第二標記一起寫入第32頁的數據。但是,在第32頁的寫入中途切斷了電源的情況下,可能發(fā)生第二標記正常寫入,其他某個位沒寫入的狀態(tài)(剛要記錄了0,但該位的值仍是1的狀態(tài))。從而,在這樣的方法中,就難以判斷一個物理塊是否真的寫入完了。
在本發(fā)明中,向32頁中寫入通常的數據,最后僅單獨寫入規(guī)定的固定值(在實施方式中是00)的第二標記。從而,若第二標記是固定值(例如00),該物理塊的寫入就確實結束了。若第二標記不是固定值(例如11),就能夠判斷為在數據寫入的中途切斷了電源。
本發(fā)明實現了即使在寫入中途切斷了電源,也能準確地檢測物理塊是否正確地寫入結束了的非易失性存儲器裝置的控制方法。
本發(fā)明的進一步的觀點涉及的上述非易失性存儲器裝置的控制方法還具有初始化步驟,在上述非易失性存儲器裝置的啟動時,讀出上述非易失性存儲器的全部的上述物理塊的上述第二標記,基于上述第二標記是否寫入完了,生成邏輯地址/物理地址變換表。
根據本發(fā)明,即使在數據寫入中途切斷了電源后的初始化處理中,也能用短時間生成正確的邏輯地址/物理地址變換表。這樣,能夠防止將寫入還沒結束的不正常的物理塊誤判定為有效物理塊。
本發(fā)明的再進一步的觀點涉及的非易失性存儲器裝置的控制方法具有下述步驟控制步驟,使用清除完表和變換邏輯地址與物理地址的邏輯地址/物理地址變換表,控制上述非易失性存儲器的數據的寫入和讀出,所述清除完表示出非易失性存儲器的數據的最小清除單位即物理塊是否清除完;第一標記寫入步驟,向第一標記中寫入示出寫入著數據的固定值,所述第一標記設置在包含在上述物理塊中的、具有數據區(qū)域和冗余區(qū)域、是數據的最小寫入單位的多個頁中的起始頁的上述冗余區(qū)域中,示出該起始頁中是否寫入著數據;數據寫入步驟,向該物理塊寫入數據;第二標記寫入步驟,向第二標記中寫入示出該物理塊中寫入著數據的固定值,所述第二標記設置在上述物理塊的規(guī)定頁的冗余區(qū)域中,示出該物理塊中是否寫入著數據。
在本發(fā)明中,最初單獨向第一標記寫入固定值(在實施方式中是00),之后,向32頁中寫入通常的數據,最后僅單獨寫入固定值(在實施方式中是00)的第二標記。從而,若第一標記不是固定值(例如11),就能夠判斷為該物理塊已清除完。若第一標記是固定值(例如00),第二標記不是固定值(例如11),就能夠判斷為在數據寫入的中途切斷了電源,寫入還沒結束。若第一標記和第二標記都是固定值(例如00),就能夠判斷為該物理塊的寫入確實結束了。
本發(fā)明實現了即使在寫入中途切斷了電源,也能準確地檢測物理塊是否已清除完,物理塊是否正確地寫入結束了的非易失性存儲器裝置的控制方法。
本發(fā)明的再進一步的觀點涉及的上述非易失性存儲器裝置的控制方法還具有初始化步驟,在上述非易失性存儲器裝置的啟動時,讀出上述非易失性存儲器的全部的上述物理塊的上述第一標記和第二標記,基于上述第一標記和第二標記是否寫入完了,生成邏輯地址/物理地址變換表和清除完表。
根據本發(fā)明,即使在數據寫入中途切斷了電源后的初始化處理中,也能用短時間生成正確的清除完表和邏輯地址/物理地址變換表。這樣,能夠防止錯誤地向沒清除完的物理塊中寫數據。能夠防止將寫入還沒結束的不正常的物理塊誤判定為有效物理塊。
本發(fā)明的再進一步的觀點涉及的上述非易失性存儲器裝置的控制方法具有下述步驟寫入步驟,在向物理塊寫入數據時,將最后頁的數據的ECC符號和/或CRC符號,或者,進一步加之上述ECC符號和/或CRC符號的互補數據,寫入到該最后頁的冗余區(qū)域中;初始化步驟,在上述非易失性存儲器裝置的啟動時,從上述非易失性存儲器的全部的上述物理塊的最后頁,讀出數據和該數據的ECC符號和/或CRC符號,或者進一步加之讀出上述ECC符號和/或CRC符號的互補數據,進行差錯檢測,基于有無錯誤,生成邏輯地址/物理地址變換表。
根據本發(fā)明,即使在數據寫入中途切斷了電源后的初始化處理中,也能用短時間生成正確的邏輯地址/物理地址變換表。這樣,能夠防止將寫入還沒結束的不正常的物理塊誤判定為有效物理塊。在上述結構中,也可以是不具有第一標記的結構。
本發(fā)明的再進一步的觀點涉及的上述非易失性存儲器裝置的控制方法具有最后頁寫入步驟,向上述物理塊的最后頁的、除了用于寫入可單獨個別地寫入的數據的區(qū)域以外的區(qū)域的全部地址中寫入數據,用數據和上述數據的ECC符號和/或CRC符號填滿該區(qū)域,或者,進一步加之上述ECC符號和/或CRC符號的互補數據進行填滿。
在本發(fā)明中,在向31頁寫入通常的數據,向最后頁寫入數據時,用通常的數據、ECC符號和/或CRC符號填滿規(guī)定的區(qū)域,或者進一步加之互補數據進行填滿。在初始化處理中,基于數據的匹配性(有無差錯檢測),能夠判斷數據寫入是否結束了。
本發(fā)明實現了即使在寫入中途切斷了電源,也能準確地檢測物理塊是否正確地寫入結束了的非易失性存儲器裝置的控制方法。在上述結構中,也可以是不具有第一標記的結構。
本發(fā)明的再進一步的觀點涉及的上述非易失性存儲器裝置的控制方法還具有初始化步驟,在上述非易失性存儲器裝置的啟動時,讀出上述非易失性存儲器的全部的上述物理塊的最后頁的上述數據和上述數據的ECC符號和/或CRC符號,或者進一步加之讀出上述ECC符號和/或CRC符號的互補數據,進行差錯檢測,基于有無錯誤,生成邏輯地址/物理地址變換表。
根據本發(fā)明,即使在數據寫入中途切斷了電源后的初始化處理中,也能用短時間生成正確的邏輯地址/物理地址變換表。這樣,能夠防止將寫入還沒結束的不正常的物理塊誤判定為有效物理塊。
本發(fā)明的再進一步的觀點涉及的非易失性存儲器裝置的控制方法具有下述步驟控制步驟,使用清除完表和變換邏輯地址與物理地址的邏輯地址/物理地址變換表,控制上述非易失性存儲器的數據的寫入和讀出,所述清除完表示出非易失性存儲器的數據的最小清除單位即物理塊是否清除完;物理地址登記步驟,向具有物理地址和第三標記的無效表(清除預定表)中登記舊物理塊的物理地址,所述物理地址是具有無效數據的物理塊(以下稱作“舊物理塊”)的物理地址,所述第三標記示出上述舊物理塊的無效數據是否清除完,所述無效表設置在具有管理區(qū)域和數據記錄區(qū)域的上述非易失性存儲器的上述管理區(qū)域中;無效數據清除步驟,清除上述舊物理塊的無效數據;第三標記寫入步驟,在與上述舊物理塊的物理地址相對應的上述第三標記中,寫入示出上述舊物理塊的無效數據的清除已結束的固定值。
在現有的非易失性存儲器裝置的控制方法中,在清除物理塊的數據的情況下,清除了例如將示出數據是否無效的標記置為無效的物理塊。但是,在清除中途切斷了電源的情況下,有時數據的清除還沒結束,還包含著0的位。若考慮這樣的突然的電源切斷,也想準確地知道一個物理塊是否清除完,就必須調查32頁的全部位,是全部位是1還是包含0的位。
在本發(fā)明中,在非易失性存儲器的管理區(qū)域中生成清除預定表,該清除預定表由應清除的物理塊的地址和第三標記構成,在清除物理塊之前,在清除預定表中登記應清除的物理塊的物理地址。之后,清除該物理塊。最后,在與已清除的物理塊相對應的第三標記中寫入固定值(實施方式中是00)。
從而,一旦開始了清除,在清除中途切斷了電源的情況下,第三標記就不是規(guī)定的固定值(例如11)。在登記在清除預定表中的物理塊的第三標記不是固定值的情況下,就準確地知道該物理塊的清除還沒結束。另外,若第三標記是規(guī)定的固定值(例如00),該物理塊的清除就確實結束了。
本發(fā)明實現了即使在清除中途切斷了電源,也能準確地檢測物理塊的清除是否已結束了的非易失性存儲器裝置的控制方法。
本發(fā)明的再進一步的觀點涉及的上述非易失性存儲器裝置的控制方法還具有下述步驟無效數據清除步驟,在上述非易失性存儲器裝置的啟動時,讀出上述管理區(qū)域的上述無效表,清除上述第三標記沒寫入完的上述舊物理塊的無效數據;第三標記寫入步驟,在與上述舊物理塊的物理地址相對應的上述第三標記中,寫入示出上述舊物理塊的無效數據的清除已結束的固定值。
本發(fā)明實現了在清除中途切斷了電源后物理塊的清除還沒結束,在啟動時準確地檢測該情況,清除物理塊的非易失性存儲器裝置的控制方法。由此能夠防止錯誤地向沒清除完的物理塊寫數據。
本發(fā)明的再進一步的觀點涉及的非易失性存儲器裝置的控制方法具有下述步驟控制步驟,使用清除完表和變換邏輯地址與物理地址的邏輯地址/物理地址變換表,控制上述非易失性存儲器的數據的寫入和讀出,所述清除完表示出非易失性存儲器的數據的最小清除單位即物理塊是否清除完;物理地址登記步驟,在向上述物理塊寫入數據時,向包含在上述物理塊中的、具有數據區(qū)域和冗余區(qū)域、是數據的最小寫入單位的多個頁中的規(guī)定頁的上述冗余區(qū)域中,登記具有無效數據的舊物理塊的物理地址;無效數據清除步驟,清除上述舊物理塊的無效數據;第三標記寫入步驟,向上述第三標記中寫入示出上述舊物理塊的無效數據的清除已結束的固定值,所述第三標記設置在已登記了上述舊物理塊的物理地址的上述冗余區(qū)域中,示出該舊物理塊的無效數據是否已清除完。
本發(fā)明實現了即使在清除中途切斷了電源,也能準確地檢測物理塊的清除是否已結束了的非易失性存儲器裝置的控制方法。由于本發(fā)明將舊物理塊的物理地址和第三標記,寫入在數據寫入目的地的物理塊的冗余區(qū)域中,因此,不需要在非易失性存儲器的管理區(qū)域中設置用于作成清除預定表的專用的區(qū)域。與物理塊的規(guī)定頁的數據寫入的同時,登記舊物理塊的物理地址,因此,不額外地發(fā)生物理地址登記所需的時間,與設置清除預定表的方法相比,處理時間短。
本發(fā)明的再進一步的觀點涉及的上述非易失性存儲器裝置的控制方法還具有下述步驟無效數據清除步驟,在上述非易失性存儲器裝置的啟動時,讀出上述物理塊的冗余區(qū)域的上述第三標記,清除上述第三標記沒寫入完的上述舊物理塊的無效數據;第三標記寫入步驟,向上述第三標記中寫入示出上述舊物理塊的無效數據的清除已結束的固定值。
本發(fā)明實現了在清除中途切斷了電源后物理塊的清除還沒結束,在啟動時準確地檢測該情況,清除物理塊的非易失性存儲器裝置的控制方法。由此能夠防止錯誤地向沒清除完的物理塊寫數據。
本發(fā)明的再進一步的觀點涉及的非易失性存儲器裝置的控制方法具有下述步驟控制步驟,使用清除完表和變換邏輯地址與物理地址的邏輯地址/物理地址變換表,控制上述非易失性存儲器的數據的寫入和讀出,所述清除完表示出非易失性存儲器的數據的最小清除單位即物理塊是否清除完;舊數據清除步驟,在決定了執(zhí)行數據寫入的上述物理塊之后,在向上述物理塊寫入數據之前,必須清除上述物理塊中寫入著的數據。
根據本發(fā)明,能夠準確地防止錯誤地向未清除的物理塊寫入數據這樣的事故。
本發(fā)明的再進一步的觀點涉及的非易失性存儲器裝置的控制方法具有下述步驟控制步驟,使用清除完表和變換邏輯地址與物理地址的邏輯地址/物理地址變換表,控制上述非易失性存儲器的數據的寫入和讀出,所述清除完表示出非易失性存儲器的數據的最小清除單位即物理塊是否清除完;舊數據清除步驟,在向上述物理塊寫入數據之前,讀出包含在上述物理塊中的具有數據區(qū)域和冗余區(qū)域的數據的最小寫入單位即多個頁中的起始頁,基于設置在上述起始頁的上述冗余區(qū)域中的該物理塊的管理信息,判斷上述起始頁是否已清除完,若沒清除完,就清除上述物理塊中寫入著的數據。
根據本發(fā)明,能夠準確且有效地防止錯誤地向未清除的物理塊寫入數據這樣的事故。
發(fā)明的新規(guī)定的特征都特別地記載在了附加的權利要求的范圍中,但能夠通過附圖和以下的詳細的說明,與結構和內容雙方相關,與其他目的和特征共同地更好地理解本發(fā)明。
附圖的簡單說明圖1是示出非易失性存儲器裝置的結構的圖。
圖2是示出清除完表105的結構的圖。
圖3是示出邏輯地址/物理地址變換表106的結構的圖。
圖4是現有例和本發(fā)明的實施方式1的非易失性存儲器裝置101的初始化處理的流程圖。
圖5是示出本發(fā)明的實施方式1的非易失性存儲器103的物理塊的結構的圖。
圖6是本發(fā)明的實施方式1的非易失性存儲器裝置101的數據重寫方法的流程圖。
圖7是階段地示出向本發(fā)明的實施方式1中的物理塊中寫入數據的狀態(tài)的圖。
圖8是示出本發(fā)明的實施方式2的非易失性存儲器103的物理塊的結構的圖。
圖9是本發(fā)明的實施方式2的非易失性存儲器裝置101的數據重寫方法的流程圖。
圖10是階段地示出向本發(fā)明的實施方式2中的物理塊中寫入數據的狀態(tài)的圖。
圖11是本發(fā)明的實施方式2的非易失性存儲器裝置101的初始化處理的流程圖。
圖12是本發(fā)明的實施方式3的非易失性存儲器裝置101的數據重寫方法的流程圖。
圖13是示出本發(fā)明的實施方式4的非易失性存儲器103的物理塊的結構的圖。
圖14是示出本發(fā)明的實施方式5的非易失性存儲器103的結構的圖。
圖15是示出本發(fā)明的實施方式5的清除預定表的結構的圖。
圖16是本發(fā)明的實施方式5的非易失性存儲器裝置101的數據重寫方法的流程圖。
圖17是階段地示出本發(fā)明的實施方式5中的清除預定表的狀態(tài)變化的圖。
圖18是本發(fā)明的實施方式5的非易失性存儲器裝置101的初始化處理的流程圖。
圖19是示出本發(fā)明的實施方式6的非易失性存儲器103的物理塊的結構的圖。
圖20是本發(fā)明的實施方式6的非易失性存儲器裝置101的數據重寫方法的流程圖。
圖21是本發(fā)明的實施方式6的非易失性存儲器裝置101的初始化處理的流程圖。
圖22是本發(fā)明的實施方式7的非易失性存儲器裝置101的數據重寫方法的流程圖。
圖23是本發(fā)明的實施方式8的非易失性存儲器裝置101的數據重寫方法的流程圖。
圖24是示出現有例的非易失性存儲器103的物理塊的結構的圖。
圖25是現有例的非易失性存儲器裝置101的數據重寫方法的流程圖。
利用以圖示為目的的概要表現來描述了附圖的一部分或全部,可以考慮未必限于忠實地描述附圖中示出的要素的實際的相對大小和位置。
具體實施例方式
以下,與附圖共同地記載了具體地示出了用于實施本發(fā)明的最佳實施方式的實施方式。
實施方式1用圖1~圖7說明實施方式1的非易失性存儲器裝置的控制方法。在圖1中,101是非易失性存儲器裝置,102是主機。非易失性存儲器裝置101具有非易失性存儲器103、控制器104、清除完表105、邏輯地址/物理地址變換表106。在實施方式1中,非易失性存儲器裝置101是存儲卡,主機102是攜帶電話,非易失性存儲器103是快閃存儲器。由于圖1~4與現有例相同,故省略詳細的說明。
圖5是示出本發(fā)明的非易失性存儲器103的物理塊的結構的圖。物理塊501由32個頁構成。一頁的容量是528字節(jié),區(qū)分為512字節(jié)的數據區(qū)域502和16字節(jié)的冗余區(qū)域503。一頁是數據的寫入單位和讀出單位。按照頁單位,依次從物理塊的頁0到頁31進行數據的寫入。物理塊是數據的清除單位,在清除時,一起清除包含在物理塊中的全部32頁。
非易失性存儲器的物理塊501的數據用1和0表示,在清除完的狀態(tài)中,全部的位是1。數據的寫入是寫入0,不能在0的位上寫上1。因此,若在沒清除完的物理塊中再寫入新的數據數據,就成為不正常數據。新數據必須寫入在清除完的物理塊中。
實施方式1的物理塊與現有例的物理塊的結構(圖24)的不同點在于,在起始頁即頁0的冗余區(qū)域503中具有第一標記511。為了提高數據可靠性,第一標記511用多位數據表示。在實施方式1中,第一標記由2位構成,用邏輯值11或00表示。除此之外,本發(fā)明的實施方式1的物理塊與現有例的結構相同。
用6和圖7說明實施方式1的非易失性存儲器裝置101的數據重寫方法。圖6是實施方式1的非易失性存儲器裝置101的數據重寫方法的流程圖。圖7是階段地示出向實施方式1的物理塊中寫入數據的狀態(tài)的圖。
從主機102一接收數據寫入指令,非易失性存儲器裝置101的控制器104就從清除完表105檢測清除完的物理塊,確保為寫入目的地的物理塊(步驟601)。在清除完的狀態(tài)中,非易失性存儲器103的物理塊501的位全部是1(圖7(a))。
首先,在確保的物理塊的第一標記上寫入固定值(是與清除后的值不同的值,在實施方式中是00)(步驟602、圖7(b))。具體地說,在起始頁中寫入僅第一標記是00,除此之外的數據全部是1的數據。寫入目的地物理塊成為僅起始頁的冗余區(qū)域503的一部分(第一標記511)寫入完了的狀態(tài)。第一標記511示出從這兒開始向該物理塊中寫入數據。之后,依次從物理塊的頁0到頁31,按頁單位寫入第一標記之外的數據(步驟603、圖7(c))。
清除包含無效數據(由于寫入新數據而成為不需要的數據)的舊物理塊(步驟604)。更新清除完表105和邏輯地址/物理地址變換表106(步驟605)。具體地說,在清除完表105中,在與步驟601中確保的物理塊相對應的位中寫入0(寫入完了)。在與步驟604中清除的舊物理塊相對應的位中寫入1(清除完了)。更新邏輯地址/物理地址變換表106的與邏輯地址相對應的物理地址,示出已從舊物理塊進行了寫入的物理塊。
用另外的步驟寫入第一標記的實施方式1的寫入方法,比現有例的寫入方法多1個步驟。但是,若用一個步驟執(zhí)行例如一頁(最小寫入單位)的寫入,則一個物理塊(32頁)的寫入所需的寫入步驟數量,就成為僅比現有的32個步驟多1個步驟的33個步驟。
例如,向非易失性存儲器103傳送一頁的數據的時間是40μs,寫入一頁的數據的時間是200μs,因此,一個物理塊的寫入時間是(40+200)×32=7680μs。對此,傳送一頁的僅冗余區(qū)域的數據的時間是1.5μs,寫入一頁的數據的時間是200μs,因此,一頁的僅冗余區(qū)域的寫入時間是1.5+200=201.5μs。從而,實施方式1的數據的寫入時間(201.5μs+7680μs)僅比現有例(7680μs)長約2.6%。實施方式與時常向2處寫入地址和數據等的現有例1相比,數據寫入速度非常快。若一頁的寫入步驟數不是一個步驟,而是多個步驟,則用另外的步驟寫入第一標記的處理速度的降低的比例就更小。
用圖4說明實施方式1的初始化處理。圖4是現有例的非易失性存儲器裝置101的初始化處理的流程圖,本發(fā)明的實施方式1用與現有例相同的方法進行初始化處理。關于非易失性存儲器103的全部的物理塊,讀出僅起始頁的冗余區(qū)域503(步驟402),判斷物理塊是否清除完(步驟403)。物理塊是否清除完的判斷中,在起始頁的冗余區(qū)域503全部是1的數據的情況下,就是清除完了,在寫入著包含值0的位的數據的情況下,就是寫入完了。
本發(fā)明的實施方式1由于在數據的寫入之前向第一標記寫入固定值(步驟602),因此,即使在由于電源切斷等的異常而數據寫入已中斷的物理塊中,第一標記中也已經寫入了00。例如,在向起始頁寫入數據中處理中斷了的物理塊中,第一標記也是00。從而,實施方式1的非易失性存儲器裝置101就不將數據寫入已中斷(沒完全清除完)的物理塊錯誤地判定為清除完,不登記在清除完表105中。
根據本發(fā)明的實施方式1的非易失性存儲器裝置的制造方法,通過比數據先寫入第一標記,就能夠使用與現有例相同的初始化處理,準確地檢測物理塊是否已清除完。能夠防止在由于電源切斷等數據寫入在中途中斷了的情況下,錯誤地向沒清除完的物理塊寫數據。
(實施方式2)使用圖1~3、圖8~11,說明實施方式2的非易失性存儲器裝置的控制方法。圖1~3與現有例和實施方式1相同,故省略詳細的說明。圖8是示出本發(fā)明的實施方式2的非易失性存儲器103的物理塊的結構的圖。在圖8中,在與現有例(圖24)相同的部分上,標記相同符號。
實施方式2的物理塊與現有例的物理塊的結構的不同點在于,規(guī)定的頁(在實施方式2中,是最后的頁即頁31)的冗余區(qū)域503中具有第二標記801。為了提高數據可靠性,第二標記801用多位數據表示。在實施方式2中,第二標記由2位構成,用邏輯值11或00表示。除此之外,本發(fā)明的實施方式2的物理塊與現有例的結構相同。
用圖9和圖10,說明實施方式2的非易失性存儲器裝置101的數據重寫方法。圖9是實施方式2的非易失性存儲器裝置101的數據重寫方法的流程圖。在圖9中,在與實施方式1的圖6相同的步驟上標記相同符號。圖10是階段地示出向實施方式2的物理塊中寫入數據的狀態(tài)的圖。
從主機102一接收數據寫入指令,非易失性存儲器裝置101的控制器104就從清除完表105檢測清除完的物理塊,確保為寫入目的地的物理塊(步驟601)。在清除完的狀態(tài)中,非易失性存儲器103的物理塊501的位全部是1(圖10(a))。
按頁單位向確保的物理塊寫入數據(步驟603。圖10(b))。具體地說,按從頁0到頁30的順序寫入數據。向頁31寫入除了第二標記以外的數據。具體地說,設第二標記為11,將期望的數據寫入最后的頁。其結果,寫入目的地物理塊除了最后頁的冗余區(qū)域503的一部分(第二標記801)之外,全部成為寫入完了的狀態(tài)。
最后,向第二標記寫入固定值(與清除后的值不同的值,在實施方式中是00)(步驟901、圖10(c))。具體地說,向最后頁寫入僅第二標記是00、除此之外的數據全部是1的數據。在第二標記的寫入結束時,該物理塊的數據的寫入就結束了。第二標記801示出物理塊的數據寫入已結束。
清除包含無效數據(通過寫入新數據而變?yōu)椴恍枰臄祿?的舊物理塊(步驟604)。
更新清除完表105和邏輯地址/物理地址變換表106(步驟605)。具體地說,在清除完表105中,在與步驟601中確保的物理塊相對應的位上寫入0(寫入完了)。在與已在步驟604中清除的舊物理塊相對應的位上寫入1(清除完了)。更新邏輯地址/物理地址變換表106的與邏輯地址相對應的物理地址,示出已從舊物理塊進行了寫入的物理塊。
用另外的步驟寫入第二標記的實施方式2的寫入方法,比現有例的寫入方法多1個步驟。但是,若用一個步驟執(zhí)行例如一頁(最小寫入單位)的寫入,則一個物理塊(32頁)的寫入所需的寫入步驟數量,就成為僅比現有的32個步驟多1個步驟的33個步驟。
例如,向非易失性存儲器103傳送一頁的數據的時間是40μs,寫入一頁的數據的時間是200μs,因此,一個物理塊的寫入時間是(40+200)×32=7680μs。對此,傳送一頁的僅冗余區(qū)域的數據的時間是1.5μs,寫入一頁的數據的時間是200μs,因此,一頁的僅冗余區(qū)域的寫入時間是1.5+200=201.5μs。從而,實施方式2的數據的寫入時間(201.5μs+7680μs)僅比現有例(7680μs)長約2.6%。實施方式與時常向2處寫入地址和數據等的現有例1相比,數據寫入速度非常快。若一頁的寫入步驟數不是一個步驟,而是多個步驟,則用另外的步驟寫入第一標記的處理速度的降低的比例就更小。
用圖11說明實施方式2的初始化處理。圖11是實施方式2的非易失性存儲器裝置101的初始化處理的流程圖。在圖11中,在與圖4(現有例和實施方式1)相同的步驟上標記相同符號。
對塊計數器設定0(初始值)(步驟401)。控制器104讀出非易失性存儲器103的讀出對象、即物理塊的起始頁的冗余區(qū)域503(步驟402)。
判斷物理塊是否清除完(步驟403)。用與現有例同樣地,用起始頁的冗余區(qū)域503全部是1的數據,還是寫入著包含值0的位的數據,來進行物理塊是否清除完的判斷。
在起始頁的冗余區(qū)域全部是1的數據的情況下,判斷為物理塊清除完了,向清除完表105的與該物理塊相對應的欄中寫入1,登記為物理塊清除完了(步驟404)。前進到步驟407。
在起始頁的冗余區(qū)域中寫入著包含值0的位的數據的情況下,判斷為沒清除完,讀出具有第二標記的最后頁的冗余區(qū)域(步驟1101)。判斷第二標記是否寫入完了(步驟1102)。若第二標記沒寫入完(=11),該物理塊就判斷為由于電源切斷等而寫入還沒結束,清除物理塊(步驟1103),前進到步驟404。
在第二標記寫入完了(=00)的情況下,向清除完表105的該物理塊欄中寫入0(沒清除完)(步驟405)。讀出起始頁的冗余區(qū)域503中寫入著的邏輯地址,在邏輯地址/物理地址變換表106的與該邏輯地址相對應的位置中登記物理地址(步驟406)。前進到步驟407。
判斷是否是最終物理塊(步驟407)。若不是最終物理塊,就對塊計數器加1(步驟408),返回到步驟402,反復進行處理。若是最終物理塊,就結束初始化。
實施方式2的非易失性存儲器裝置的控制方法,不錯誤地將數據寫入已中斷的不完全物理塊登記在邏輯地址/物理地址變換表106中。例如,在由于電源切斷等而寫入處理已中斷的情況下,第二標記仍是11。即使起始頁寫入完了,也能判斷為直到最后頁的寫入還沒結束。在第二標記是00的情況下,能判斷為該物理塊的寫入已結束。
根據本發(fā)明的實施方式2的非易失性存儲器裝置的控制方法,即使在數據寫入由于電源切斷等而中途中斷了的情況下,也能基于第二標記,正確地生成邏輯地址/物理地址變換表106。
再有,在實施方式2中,在物理塊的最后頁中具有第二標記801。取而代之,也可以在物理塊的最后頁以外的任意頁的冗余區(qū)域503中具有第二標記。該情況下,在圖11的初始化處理的步驟1101中,也可以取代最后頁,讀出具有第二標記的頁的冗余區(qū)域。
(實施方式3)用圖11和圖12,說明實施方式3的非易失性存儲器裝置的控制方法。實施方式3的非易失性存儲器103的物理塊501具有第一標記和第二標記兩方。實施方式3的物理塊具有的第一標記511和第二標記801,分別與實施方式1的第一標記511和實施方式2的第二標記801相同。
用圖12說明實施方式3的非易失性存儲器裝置101的數據重寫方法。圖12是實施方式3的非易失性存儲器裝置101的數據重寫方法的流程圖。在圖12中,在與實施方式1的圖6和實施方式2的圖9相同的步驟上標記相同符號。
從主機102一接收數據寫入指令,非易失性存儲器裝置101的控制器104就從清除完表105檢測清除完的物理塊,確保為寫入目的地的物理塊(步驟601)。在清除完的狀態(tài)中,非易失性存儲器103的物理塊501的位全部是1(圖7(a))。
首先,在確保的物理塊的第一標記上寫入固定值(在實施方式中是00)(步驟602、圖7(b))。寫入目的地物理塊僅起始頁的冗余區(qū)域503的一部分(第一標記511)成為寫入完了狀態(tài)。第一標記511示出從這兒開始向該物理塊中寫入數據。
之后,按頁單位,向物理塊寫入數據(步驟603、圖7(c))。具體地說,向頁0寫入除了第一標記以外的數據。按照從頁1到頁30的順序寫入數據。向頁31寫入除了第二標記以外的數據(圖10(b))。
最后,向第二標記寫入固定值(在實施方式中是00)(步驟901、圖10(c))。在第二標記的寫入結束時,該物理塊的數據的寫入就結束了。第二標記801示出物理塊的數據寫入已結束。
清除包含無效數據(通過寫入新數據而變?yōu)椴恍枰臄祿?的舊物理塊(步驟604)。
更新清除完表105和邏輯地址/物理地址變換表106(步驟605)。具體地說,在清除完表105中,在與步驟601中確保的物理塊相對應的位上寫入0(寫入完了)。在與已在步驟604中清除的舊物理塊相對應的位上寫入1(清除完了)。更新邏輯地址/物理地址變換表106的與邏輯地址相對應的物理地址,示出已從舊物理塊進行了寫入的物理塊。
用圖11說明實施方式3的初始化處理。實施方式3用與實施方式2相同的方法進行初始化處理。在步驟402中,讀出物理塊的僅起始頁的冗余區(qū)域503。在步驟403的物理塊是否清除完的判斷中,在起始頁的冗余區(qū)域503全部是1的數據的情況下,判斷為清除完了,在寫入著包含值0的位的數據的情況下,判斷為寫入完了。
在起始頁的冗余區(qū)域全部是1的數據的情況下,即,第一標記中還沒寫入固定值的情況下,在清除完表105的該物理塊欄中寫入1,登記為物理塊清除完(步驟404)。
在冗余區(qū)域503沒清除完,即,第一標記中寫入著固定值的情況下,讀出最后頁的冗余區(qū)域(步驟1101)。判斷最后頁的冗余區(qū)域中具有的第二標記是否寫入完了(步驟1102)。若第二標記沒寫入完了(=11),該物理塊就判斷為由于電源切斷等而寫入還沒結束,清除該物理塊(步驟1103),前進到步驟404。
在第二標記寫入完了(=00)的情況下,向清除完表105的該物理塊欄中寫入0(沒清除完)(步驟405)。讀出起始頁的冗余區(qū)域503中寫入著的邏輯地址,在邏輯地址/物理地址變換表106的與該邏輯地址相對應的位置中登記物理地址(步驟406)。前進到步驟407。
從而,能夠如下地判定實施方式3中的物理塊的狀態(tài)。
在第一標記=11且第二標記=11的情況下,物理塊示出清除完了(未寫入)。
在第一標記=00且第二標記=11的情況下,示出由于電源切斷等而數據寫入在中途中斷,數據的寫入已開始但還沒結束。
在第一標記=11且第二標記=00的情況下,正常的處理中不發(fā)生。
在第一標記=00且第二標記=00的情況下,示出物理塊寫入完了。
根據本發(fā)明的實施方式3的非易失性存儲器裝置的控制方法,通過比數據先寫入第一標記,能準確地檢測物理塊是否已清除完。
根據本發(fā)明的實施方式3的非易失性存儲器裝置的控制方法,通過在寫入數據之后寫入第二標記,能準確地檢測物理塊是否已寫入完。
根據本發(fā)明的實施方式3的非易失性存儲器裝置的控制方法,即使在由于電源切斷等而數據寫入中途中斷了的情況下,也能基于第一標記和第二標記,正確地生成清除完表105和邏輯地址/物理地址變換表106的兩方。實施方式3具有實施方式1的效果和實施方式2的效果的兩方。
再有,在實施方式3中,在物理塊的最后頁中具有第二標記801。取而代之,也可以在物理塊的最后頁以外的任意頁的冗余區(qū)域503中具有第二標記。該情況下,在圖11的初始化處理的步驟1101中,也可以取代最后頁,讀出具有第二標記的頁的冗余區(qū)域。
再有,通過用另外的步驟寫入第一標記和第二標記,在初始化處理中生成的清除完表105和邏輯地址/物理地址變換表106的正確性提高了。但是,實施方式3的寫入方法比現有例的寫入方法多2個步驟處理,比實施方式1或實施方式2的寫入方法多1個步驟處理,因此,數據寫入所需的時間長。例如,一個物理塊的寫入數據是7680μs,一頁的僅冗余區(qū)域的寫入數據是201.5μs,因此,實施方式3的數據寫入時間比現有例長5.2%,比實施方式1和實施方式2長約2.6%。
也可以根據是優(yōu)先數據寫入所需的時間和初始化處理所需的時間的縮短,還是優(yōu)先清除完表105和邏輯地址/物理地址變換表106的正確性,僅具有第一標記(實施方式1),也可以僅具有第二標記(實施方式2),也可以共同具有第一標記和第二標記(實施方式3)。
(實施方式4)用圖13說明實施方式4的非易失性存儲器裝置的控制方法。圖13是示出實施方式4的非易失性存儲器103的物理塊501的結構的圖。實施方式4的物理塊501與實施方式2的物理塊的不同點在于,取代第二標記801,在最后頁中具有管理信息A1301和管理信息A’1302。實施方式4的物理塊與實施方式2相同。
在實施方式4中,管理信息A1301關于各物理塊是單值數據,例如,包含最后頁的數據的ECC符號和/或CRC符號。管理信息A’1302是管理信息A的各個位反轉后的數據(互補數據)。
ECC符號、CRC符號也可以是最后頁的僅冗余區(qū)域503的數據的ECC符號、CRC符號,也可以是數據區(qū)域(或數據區(qū)域和冗余區(qū)域)的數據ECC符號、CRC符號。
最好向物理塊的最后頁的區(qū)域中的、除了用于寫入能單獨個別寫入的數據(例如第二標記等)的區(qū)域之外的全部地址寫入數據,用數據、ECC符號和/或CRC符號、該ECC符號和/或CRC符號的互補數據,填滿該區(qū)域。這樣,能使電源瞬時停電而引起的誤判斷的概率進一步小。
說明實施方式4的非易失性存儲器裝置101的數據重寫方法。用與現有例的圖25相同的流程圖,進行實施方式4的非易失性存儲器裝置101的數據重寫方法。但是,步驟603的處理不同。實施方式4的非易失性存儲器裝置101在向物理塊501寫入數據的情況下(步驟603),與向最后頁即頁31的數據區(qū)域502寫入數據的同時,向冗余區(qū)域503寫入管理信息A和管理信息A’。除此之外,與現有例的數據重寫方法相同,故省略說明。
用圖11說明實施方式4的非易失性存儲器裝置101的初始化處理。實施方式4的初始化處理的步驟1101和步驟1102與實施方式2不同。在實施方式2中,僅讀出最后頁的冗余區(qū)域(步驟1101),基于第二標記801是否已寫入完了,判斷物理塊501中是否寫入著數據(步驟1102)。在實施方式4中,讀出最后頁的數據區(qū)域和冗余區(qū)域(步驟1101)。利用數據和ECC符號和/或CRC符號,判斷最后頁的數據中是否有錯誤,或進一步判斷管理信息A1301和管理信息A’1302是否是互補的關系(是匹配還是包含錯誤)(步驟1102)。在數據和ECC符號和/或CRC符號匹配,并且管理信息A和管理信息A’是互補數據的情況下,判斷為物理塊已寫入完了,前進到步驟405。在數據和ECC符號和/或CRC符號不匹配,或者管理信息A和管理信息A’不是互補數據(包含錯誤)的情況下,判斷為物理塊的寫入由于電源切斷等而中途中斷了,在步驟1103中清除了物理塊后,前進到步驟404。除此之外,與實施方式2的初始化處理相同,故省略說明。
根據實施方式4的非易失性存儲器裝置的控制方法,由于與向數據區(qū)域502寫入數據的同時,向冗余區(qū)域503寫入互補數據(管理信息A和A’),因此,不需要用于寫入互補數據的多余的程序時間。與在物理塊501中寫入了數據后,用另外步驟寫入第二標記801的實施方式2相比,處理時間快。但是,實施方式4的控制方法的誤判斷的可能性雖然極接近于零,但是不是零,在正確的可靠性中,還是實施方式2的控制方法有優(yōu)勢。
也可以根據是優(yōu)先數據寫入所需的時間的縮短,還是優(yōu)先清除完表105和邏輯地址/物理地址變換表106的正確性,具有第二標記(實施方式2),也可以具有互補數據(實施方式4)。
也可以取代上述方法,不具有管理信息A’1302,而在最后頁的冗余區(qū)域中僅具有ECC符號和/或CRC符號。最好向物理塊的最后頁的區(qū)域中的、除了用于寫入能單獨個別寫入的數據(例如第二標記等)的區(qū)域之外的全部地址寫入數據,用數據、ECC符號和/或CRC符號填滿該區(qū)域。這樣,能使電源瞬時停電而引起的誤判斷的概率進一步小。
與向最后頁即頁31的數據區(qū)域502中寫入數據的同時,向冗余區(qū)域503寫入ECC符號和/或CRC符號。除此之外,與現有例的數據重寫方法相同。
用圖11說明不具有管理信息A’1302時的非易失性存儲器裝置101的初始化處理。讀出最后頁的數據區(qū)域和冗余區(qū)域(步驟1101)。根據數據和ECC符號和/或CRC符號,判斷最后頁的數據中是否有錯誤(步驟1102)。若數據和ECC符號和/或CRC符號匹配,就判斷為物理塊已寫入完了,前進到步驟405。若數據和ECC符號和/或CRC符號不匹配,就判斷為物理塊的寫入由于電源切斷等而中途中斷了,在步驟1103中清除了物理塊后,前進到步驟404。除此之外,與具有管理信息A’1302的上述的初始化處理相同,故省略說明。
(實施方式5)用圖14~圖18說明實施方式5的非易失性存儲器裝置的控制方法。實施方式1~4的非易失性存儲器裝置的控制方法是對在數據寫入中發(fā)生了電源切斷的情況進行處理的方法。實施方式5的非易失性存儲器裝置的控制方法是能夠對在數據清除中發(fā)生了電源切斷的情況進行處理的方法。
在現有例(圖25)的步驟604中,若正在清除舊物理塊的過程當中發(fā)生了電源切斷,則有可能該舊物理塊的清除還沒結束。若在該狀態(tài)下,在電源再次接通時進行初始化處理,就有可能錯誤地將還沒完全清除的舊物理塊(例如,起始頁的冗余區(qū)域清除完,剩余的數據寫入完了的物理塊)判斷為已清除完,登記在清除完表105中。此外,也有可能錯誤地將還沒完全清除的舊物理塊(例如,起始頁的冗余區(qū)域寫入完了,剩余的數據清除完的物理塊)判斷為寫入完了,登記在邏輯地址/物理地址變換表106中。
為了防止如上所述的誤判斷,實施方式5的非易失性存儲器裝置的控制方法實現了能夠對在數據清除中發(fā)生了電源切斷的情況進行處理的方法。實施方式5的非易失性存儲器裝置101在非易失性存儲器中具有用于判斷舊物理塊是否清除完的清除預定表。
圖14是示出非易失性存儲器的結構的圖。非易失性存儲器103被區(qū)分為管理區(qū)域1411和數據記錄區(qū)域1412。數據記錄區(qū)域1412是用于寫入數據的區(qū)域。在實施方式5中,數據記錄區(qū)域1412的物理塊501與現有例的物理塊501(圖24)相同。管理區(qū)域1411是存儲非易失性存儲器103的管理信息的區(qū)域,將管理區(qū)域1411的物理塊1401分配為清除預定表。再有,所述的管理區(qū)域1411和數據記錄區(qū)域1412,可以由控制器104明確地區(qū)別,不需要在非易失性存儲器103內的固定的物理塊中占有管理區(qū)域1411。也可以不取決于已固定的物理塊,而使該區(qū)域自由地變化。
圖15是示出清除預定表的結構的圖。清除預定表1501由登記進行清除的物理塊的物理地址1511的清除地址登記區(qū)域1502和冗余區(qū)域1503構成。冗余區(qū)域1503具有第三標記1512。為了提高數據可靠性,第三標記1512用多位數據表示。在實施方式5中,第三標記由2位構成,用邏輯值11或00表示。第三標記1512表示該頁的清除地址登記區(qū)域1502中寫入著的物理地址1511所示出的物理塊是否清除完。在第三標記是“11”的情況下,判斷為物理塊未清除,在第三標記是“00”的情況下,判斷為物理塊清除完了。清除預定表1501由物理塊1401構成,因此,具有頁0到頁31,能夠登記32個部分的物理地址。在實施方式5中,物理地址的登記從頁0開始升序地進行。
用圖16和圖17說明實施方式5的數據重寫方法。圖16是實施方式5的非易失性存儲器裝置101的數據重寫方法的流程圖。在圖16(實施方式5)中,在與圖25(現有例)相同的步驟上標記相同符號。圖17是階段地示出向清除預定表中寫入物理地址和第三標記的狀態(tài)的圖。圖17中,在頁0和頁1中已經寫入了物理地址,并且第三標記是“00”,因此,登記在頁0和頁1中的物理塊是清除完。這次使用頁2。
實施方式5的數據重寫方法(圖16)與現有例(圖25)的不同點在于,附加了步驟1601和1602。關于步驟1601以后的步驟進行說明。
物理塊的數據寫入一結束,就將包含無效數據(由于寫入新數據而成為不需要的數據)的舊物理塊的物理地址1511,登記在清除預定表1501的清除地址登記區(qū)域1502中(步驟1601、圖17(b))。通過登記在清除預定表中,示出是應清除的物理塊。之后,清除舊物理塊(步驟604)。
向已登記了舊物理塊的物理地址1511的清除預定表的頁2的冗余區(qū)域1503的第三標記1512中寫入固定值(在實施方式中是00)(步驟1602、圖17(c))。通過向第三標記寫入固定值,示出登記的舊物理塊的清除結束了。
更新清除完表105和邏輯地址/物理地址變換表106(步驟605)。具體地說,在清除完表105中,在與步驟601中確保的物理塊相對應的位上寫入0(寫入完了)。在與步驟604中清除的舊物理塊相對應的位上寫入1(清除完了)。更新邏輯地址/物理地址變換表106的與邏輯地址相對應的物理地址,示出已從舊物理塊進行了寫入的物理塊。
實施方式5的非易失性存儲器裝置101在進行了圖4中示出的初始化處理之后,進行圖18中示出的初始化處理。在圖4中,由于與現有例相同,故省略說明。關于圖18進行說明。
讀出非易失性存儲器103的管理區(qū)域1411中具有的清除預定表1501(步驟1801)。判斷是否有沒清除完的物理塊(步驟1802)。若清除預定表1501的清除地址登記區(qū)域1502中還沒登記物理地址,或者,在與全部的登記完的物理地址1511相對應的第三標記1512中寫入著固定值(00),就判斷為沒有沒清除完的物理塊,結束初始化處理。
在清除預定表1501中登記著物理地址1511,但還沒寫入第三標記1512(11)的情況下,就判斷為由于電源切斷等而清除中途結束了,就清除登記著的物理塊(步驟1803)。在與清除預定表1501的清除后的物理塊相對應的第三標記1512中寫入固定值(步驟1804)。
由于清除中的電源切斷等的異常,有可能作完的表中有錯誤,因此,修正清除完表105和邏輯地址/物理地址變換表106(步驟1805)。具體地說,在清除完表105中登記已清除的物理塊。若在邏輯地址/物理地址變換表106中有已清除的物理塊,就刪除登記。返回到步驟1802,反復進行處理,直到已登記在清除預定表中的物理塊全部被清除。
根據本發(fā)明的實施方式5的非易失性存儲器裝置的控制方法,通過在清除預定表1501中寫入物理地址1511和第三標記1512,就能夠準確地檢測物理塊501的清除是否已結束。即使在由于電源切斷等而物理塊的清除中途中斷了的情況下,在再次啟動時,也能夠基于清除預定表1501,完全地清除沒清除完的物理塊,能夠正確地生成清除完表105和邏輯地址/物理地址變換表106的兩方。這樣,能夠防止錯誤地向沒清除完的物理塊中寫數據。
再有,也可以組合與數據清除中的電源切斷相對應的實施方式5的非易失性存儲器裝置的控制方法和與數據寫入中的電源切斷相對應的實施方式1~4的某一個非易失性存儲器裝置的控制方法。這樣,能夠生成可靠性更高的清除完表105和邏輯地址/物理地址變換表106。
再有,實施方式5的清除預定表1501不只限于數據重寫時的舊物理塊的清除,也可以在基于來自主機102的清除指令清除物理塊的情況中使用。
(實施方式6)用圖19~21說明實施方式6的非易失性存儲器裝置的控制方法。實施方式6的非易失性存儲器裝置的控制方法是能夠對在數據清除中發(fā)生了電源切斷的情況進行處理的方法。
關于實施方式6的非易失性存儲器裝置的控制方法與實施方式5的不同點進行說明。實施方式5的控制方法在非易失性存儲器103的管理區(qū)域1411中具有的清除預定表1501中,登記了進行清除的物理塊的物理地址1511和第三標記1512,所述第三標記1512示出該物理塊是否清除完了。實施方式5的控制方法用與對數據記錄區(qū)域1412的物理塊501的數據寫入不同的另外步驟,在清除預定表1501中登記物理地址1511,因此,有清除預定表1501的寫入所需時間長的缺點。
在實施方式6中實現處理時間短的控制方法。圖19是示出實施方式6的物理塊的結構的圖。實施方式6的物理塊501在規(guī)定頁(在實施方式6中是起始頁)的冗余區(qū)域503中具有舊物理塊的物理地址(稱作“舊物理地址”)1911和第三標記1512,所述第三標記1512示出舊物理塊是否已清除完。實施方式6的舊物理地址1911的登記區(qū)域由2個字節(jié)構成。
第三標記1512與實施方式5的第三標記同樣,為了提高數據可靠性,用多位數據表示。在實施方式6中,第三標記由2位構成,用邏輯值11或00表示。第三標記1512表示舊物理地址1911示出的物理塊是否已清除完。在第三標記是“11”的情況下,判斷為舊物理地址1911示出的物理塊未清除,在第三標記是“00”的情況下,判斷為清除完了。
在實施方式6中,非易失性存儲器103不具有清除預定表1501,使用數據寫入目的地的物理塊501的冗余區(qū)域503,登記舊物理塊是否已清除完。
用圖20說明實施方式6的數據重寫方法。圖20是實施方式6的非易失性存儲器裝置101的數據重寫方法的流程圖。在圖20中,在與現有例的圖25相同的步驟上標記相同符號。
從主機102一接收數據寫入指令,非易失性存儲器裝置101的控制器104就從清除完表105檢測清除完的物理塊,確保為寫入目的地的物理塊(稱作“新物理塊”)(步驟601)。
與向新物理塊寫入數據的同時,將包含無效數據(由于寫入新數據而成為不需要的數據)的舊物理塊的物理地址1911和與舊物理塊相對應的第三標記1512(值是示出未清除的11),寫入在新物理塊的起始頁的冗余區(qū)域503中(步驟2001)。
清除舊物理塊(步驟604)。向新物理塊的起始頁的冗余區(qū)域503中具有的第三標記中寫入固定值(在實施方式中是示出清除完的00)(步驟2002)。通過在第三標記中寫入固定值,示出已清除了舊物理塊。更新清除完表105和邏輯地址/物理地址變換表106(步驟605)。
用圖21說明實施方式6的非易失性存儲器裝置101的初始化處理。實施方式6的非易失性存儲器裝置101在初始化處理時,基于第三標記1512,在RAM上生成無效表。無效表用于登記由于電源切斷等而數據的清除中斷了的不正常的舊物理塊的物理地址和登記著舊物理塊是否已清除完的新物理塊的物理地址。圖21是實施方式6的非易失性存儲器裝置101的初始化處理的流程圖。在圖21中,在與現有例的圖4相同的步驟上標記相同符號,省略說明。關于步驟2101~2107進行說明。
對于在步驟401~406中已判斷為寫入完了的物理塊501,基于在步驟402中讀出的起始頁的冗余區(qū)域503,判斷是否有第三標記1512未寫入(=11)的舊物理塊(步驟2101)。若還沒登記舊物理地址1911,或者第三標記1512是清除完(=00),就前進到步驟407。
若登記著舊物理地址1911,但第三標記1512未寫入,就判斷為在清除處理中發(fā)生電源切斷等的異常,舊物理塊的清除還沒結束。在RAM上作成的無效表中登記新物理塊(冗余區(qū)域503中寫入著舊物理塊的物理地址1911的物理塊)的物理地址和舊物理塊的物理地址(步驟2102),前進到步驟407。
判斷當前的物理塊是否是最終物理塊(步驟407)。若不是最終物理塊,就對塊計數器加1(步驟408),返回到步驟402。若是最終物理塊,就判斷RAM上生成的無效表中是否寫入著新物理塊和舊物理塊的地址(步驟2103)。若無效表是空,就結束初始化處理。若無效表中登記著地址,就清除該舊物理塊(步驟2104)。在寫入著已清除的舊物理塊的物理地址的新物理塊的第三標記中寫入固定值(步驟2105)。通過在第三標記中寫入固定值,示出已完全清除了舊物理塊。更新RAM上的無效表(步驟2106)。具體地說,從無效表刪除新物理塊和舊物理塊的地址,示出沒有未清除的舊物理塊。
由于清除中的電源切斷等的異常,有可能在作完的表中有錯誤,因此,更新清除完表105和邏輯地址/物理地址變換表106(步驟2107)。具體地說,在清除完表105中登記已清除的舊物理塊。若邏輯地址/物理地址變換表106中有已清除的舊物理塊,就刪除登記。
實施方式6的非易失性存儲器裝置的控制方法,由于不需要在非易失性存儲器103的管理區(qū)域1411中確保用于設置清除預定表1501的專用區(qū)域。與對數據記錄區(qū)域1412的物理塊501寫入數據的同時,在其起始頁中登記舊物理塊的地址1911,與實施方式5相比,處理時間短。但是,由于實施方式6的控制方法將進行清除的舊物理塊的物理地址1911登記在新物理塊501的冗余區(qū)域503中,因此,僅能夠在數據重寫時使用,在基于來自主機102的清除指令清除物理塊的情況下,不能使用。
實施方式6的非易失性存儲器裝置101通過與舊物理塊的清除平行地,向非易失性存儲器103傳送下次執(zhí)行的寫入數據,就能夠縮短數據重寫所需要的時間。
再有,舊物理塊的物理地址1911和第三標記1512的登記不限定于新物理塊501的起始頁。也可以登記在除新物理塊的起始頁以外的冗余區(qū)域503中。該情況下,在初始化處理中,也可以在圖21的步驟406和步驟2101間,附加讀出具有舊物理地址1911和第三標記1512的頁的冗余區(qū)域的步驟。
再有,也可以組合與數據清除中的電源切斷相對應的實施方式6的非易失性存儲器裝置的控制方法和與數據寫入中的電源切斷相對應的實施方式1~4的某一個非易失性存儲器裝置的控制方法。這樣,能夠生成可靠性更高的清除完表105和邏輯地址/物理地址變換表106。
(實施方式7)用圖22說明實施方式7的非易失性存儲器裝置的控制方法。在實施方式1~6中,關于在數據寫入中或數據清除中發(fā)生了電源切斷等而處理中斷了的情況下,使用第一標記、第二標記、第三標記或互補數據,在下一次啟動時檢測它們,能夠正確地生成清除完表105和/或邏輯地址/物理地址變換表106的非易失性存儲器裝置的控制方法進行了說明。
在實施方式7的非易失性存儲器裝置的控制方法中,是實現即使不具有上述第一~第三標記和互補數據,與現有的物理塊相同的結構,也能夠正確地寫入數據的方法。在實施方式7中,由于物理塊不具有第一~第三標記和互補數據,用與現有例相同的方法進行初始化處理,因此,不能檢測由于電源切斷等而中斷了處理。例如,有時由于電源切斷等,錯誤地將清除還沒結束的不正常的物理塊判斷為清除完了,登記在清除完表105中(圖4、步驟404)。
因此,在實施方式7中,用圖22的方法進行數據重寫。圖22是實施方式7的非易失性存儲器裝置101的數據重寫方法的流程圖。在圖22中,在與現有例的圖25相同的步驟上標記相同符號,省略說明。實施方式7的數據重寫方法(圖22)與現有例(圖25)的不同點在于,附加了步驟2202。
從主機102一接收數據寫入指令,非易失性存儲器裝置101的控制器104就從清除完表105檢測清除完的物理塊,確保為寫入目的地的物理塊(步驟601)。但是,雖然由于寫入中或清除中的電源切斷等的異常,實際上該寫入目的地物理塊沒清除完,但有可能在初始化處理中,錯誤地登記在了清除完表中。因此,一旦清除已確保的寫入目的地物理塊,就確實成為清除完的狀態(tài)(步驟2202)。之后,向物理塊寫入數據(步驟603)。
實施方式7的控制方法,即使在錯誤地將在初始化處理中沒清除完的物理塊判斷為清除完,登記在了清除完表105中的情況下,也能通過在數據寫入之前暫且先清除物理塊,來正確地處理來自主機102的寫入指令。
再有,也可以組合實施方式7的非易失性存儲器裝置的控制方法和實施方式1~6。這樣,寫入時間和讀出時間等的處理時間變多,但能夠正確地生成清除完表105和邏輯地址/物理地址變換表106,并且,能夠準確地在清除完的物理塊中寫入數據。
(實施方式8)用圖23說明實施方式8的非易失性存儲器裝置的控制方法。實施方式8是與實施方式7同樣地,即使物理塊不具有第一~第三標記和互補數據,與現有的物理塊相同的結構,也能夠正確地進行數據重寫的方法。
圖23是實施方式8的非易失性存儲器裝置101的數據重寫方法的流程圖。在圖23中,在與圖22相同的步驟上標記相同符號,省略說明。實施方式8的數據重寫方法(圖23)與實施方式7(圖22)的不同點在于,附加了步驟2302和步驟2303。除此之外與實施方式7相同。
在實施方式7中,在數據寫入之前暫且先清除了全部的物理塊。但是,非易失性存儲器103的物理塊的清除所需的時間,比物理塊的一頁的讀出所需的時間非常長。因此,在實施方式8中,讀出具有寫入目的地物理塊的管理信息的起始頁的數據(步驟2302)。在物理塊沒清除完的情況下,在起始頁的冗余區(qū)域中寫入該物理塊的管理信息(例如,已寫入在數據區(qū)域中的數據的互補數據、ECC符號和/或CRC符號、與該物理塊相對應的邏輯地址等的信息)。讀出起始頁,若檢測管理信息全部是1或包含0,就能夠判斷物理塊是否已清除完。
判斷起始頁是否清除完(步驟2303),若起始頁沒清除完,就判斷為由于電源切斷等而物理塊的清除還沒結束,清除物理塊(步驟2202)。若起始頁清除完,就不執(zhí)行步驟2202,前進到步驟603。
實施方式8的控制方法即使在錯誤地將初始化處理中沒清除完的物理塊判斷為清除完,登記在了清除完表105中的情況下,也能正確地處理來自主機102的寫入指令。
在實施方式8中,通過讀出物理塊的起始頁,判斷是否清除完,僅清除未清除的物理塊,能夠比實施方式7縮短數據重寫所需的時間。
再有,也可以組合實施方式8的非易失性存儲器裝置的控制方法和實施方式1~6。在非易失性存儲器103中存在不正常狀態(tài)的物理塊的情況下,通過組合使用實施方式,提高數據寫入的正確性。能正確地生成清除完表105和邏輯地址/物理地址變換表106,并且,能夠準確地在清除完的物理塊中寫入數據。
本發(fā)明得到了這樣的有利效果,即,實現了在數據寫入中或清除中發(fā)生電源切斷等的異常而處理中斷了的情況下,也能正常地進行下一次啟動后的數據寫入的非易失性存儲器裝置的控制方法。這樣,能夠正確地對非易失性存儲器進行存取,實現具有高數據可靠性的非易失性存儲器裝置的控制方法。
關于最佳實施方式,在某種程度上詳細地說明了本發(fā)明,但該最佳實施方式的公開內容也可以在結構的細小部分中適當地進行變化,可以不脫離發(fā)明的請求范圍和思想,實現各要素的組合和順序的變化。
工業(yè)上的可利用性本發(fā)明作為例如與攜帶設備連接使用的非易失性存儲器裝置(例如存儲卡)的控制方法,十分有用。
權利要求
1.一種非易失性存儲器裝置的控制方法,其特征在于,具有下述步驟控制步驟,使用清除完表和變換邏輯地址與物理地址的邏輯地址/物理地址變換表,控制上述非易失性存儲器的數據的寫入和讀出,所述清除完表示出非易失性存儲器的數據的最小清除單位即物理塊是否清除完;第一標記寫入步驟,向第一標記中寫入示出寫入著數據的固定值,所述第一標記設置在包含在上述物理塊中的、具有數據區(qū)域和冗余區(qū)域、是數據的最小寫入單位的多個頁中的起始頁的上述冗余區(qū)域中,示出該起始頁中是否寫入著數據;數據寫入步驟,向該物理塊寫入數據。
2.如權利要求1所述的非易失性存儲器裝置的控制方法,其特征在于,還具有初始化步驟,在非易失性存儲器裝置的啟動時,讀出上述非易失性存儲器的全部的上述物理塊的上述第一標記,基于上述第一標記是否寫入完了,生成邏輯地址/物理地址變換表和清除完表。
3.一種非易失性存儲器裝置的控制方法,其特征在于,具有下述步驟控制步驟,使用清除完表和變換邏輯地址與物理地址的邏輯地址/物理地址變換表,控制上述非易失性存儲器的數據的寫入和讀出,所述清除完表示出非易失性存儲器的數據的最小清除單位即物理塊是否清除完;第一標記寫入步驟,向第一標記中寫入示出寫入著數據的固定值,所述第一標記設置在包含在上述物理塊中的、具有數據區(qū)域和冗余區(qū)域、是數據的最小寫入單位的多個頁中的起始頁的上述冗余區(qū)域中,示出該起始頁中是否寫入著數據;數據寫入步驟,向該物理塊寫入數據;第二標記寫入步驟,向第二標記中寫入示出該物理塊中寫入著數據的固定值,所述第二標記設置在上述物理塊的規(guī)定頁的冗余區(qū)域中,示出該物理塊中是否寫入著數據。
4.如權利要求3所述的非易失性存儲器裝置的控制方法,其特征在于,還具有初始化步驟,在上述非易失性存儲器裝置的啟動時,讀出上述非易失性存儲器的全部的上述物理塊的上述第一標記和上述第二標記,基于上述第一標記和上述第二標記是否寫入完了,生成邏輯地址/物理地址變換表和清除完表。
5.如權利要求1所述的非易失性存儲器裝置的控制方法,其特征在于,還具有下述步驟寫入步驟,在向物理塊寫入數據時,將最后頁的數據的ECC符號和/或CRC符號,或者,進一步加之上述ECC符號和/或CRC符號的互補數據,寫入到該最后頁的冗余區(qū)域中;初始化步驟,在上述非易失性存儲器裝置的啟動時,從上述非易失性存儲器的全部的上述物理塊的最后頁,讀出數據和該數據的ECC符號和/或CRC符號,或者進一步加之讀出上述ECC符號和/或CRC符號的互補數據,進行差錯檢測,基于有無錯誤,生成邏輯地址/物理地址變換表。
6.如權利要求1所述的非易失性存儲器裝置的控制方法,其特征在于,還具有最后頁寫入步驟,向上述物理塊的最后頁的、除了用于寫入可單獨個別地寫入的數據的區(qū)域以外的區(qū)域的全部地址中寫入數據,用數據和上述數據的ECC符號和/或CRC符號填滿該區(qū)域,或者,進一步加之上述ECC符號和/或CRC符號的互補數據進行填滿。
7.如權利要求6所述的非易失性存儲器裝置的控制方法,其特征在于,還具有初始化步驟,在上述非易失性存儲器裝置的啟動時,讀出上述非易失性存儲器的全部的上述物理塊的最后頁的上述數據和上述數據的ECC符號和/或CRC符號,或者進一步加之讀出上述ECC符號和/或CRC符號的互補數據,進行差錯檢測,基于有無錯誤,生成邏輯地址/物理地址變換表。
8.一種非易失性存儲器裝置的控制方法,其特征在于,具有下述步驟控制步驟,使用清除完表和變換邏輯地址與物理地址的邏輯地址/物理地址變換表,控制上述非易失性存儲器的數據的寫入和讀出,所述清除完表示出非易失性存儲器的數據的最小清除單位即物理塊是否清除完;物理地址登記步驟,向具有物理地址和第三標記的無效表中登記舊物理塊的物理地址,所述物理地址是具有無效數據的物理塊(以下稱作“舊物理塊”)的物理地址,所述第三標記示出上述舊物理塊的無效數據是否清除完,所述無效表設置在具有管理區(qū)域和數據記錄區(qū)域的上述非易失性存儲器的上述管理區(qū)域中;無效數據清除步驟,清除上述舊物理塊的無效數據;第三標記寫入步驟,在與上述舊物理塊的物理地址相對應的上述第三標記中,寫入示出上述舊物理塊的無效數據的清除已結束的固定值。
9.如權利要求8所述的非易失性存儲器裝置的控制方法,其特征在于,還具有下述步驟無效數據清除步驟,在上述非易失性存儲器裝置的啟動時,讀出上述管理區(qū)域的上述無效表,清除上述第三標記沒寫入完的上述舊物理塊的無效數據;第三標記寫入步驟,在與上述舊物理塊的物理地址相對應的上述第三標記中,寫入示出上述舊物理塊的無效數據的清除已結束的固定值。
10.一種非易失性存儲器裝置的控制方法,其特征在于,具有下述步驟控制步驟,使用清除完表和變換邏輯地址與物理地址的邏輯地址/物理地址變換表,控制上述非易失性存儲器的數據的寫入和讀出,所述清除完表示出非易失性存儲器的數據的最小清除單位即物理塊是否清除完;物理地址登記步驟,在向上述物理塊寫入數據時,向包含在上述物理塊中的、具有數據區(qū)域和冗余區(qū)域的、是數據的最小寫入單位的多個頁中的規(guī)定頁的上述冗余區(qū)域中,登記具有無效數據的舊物理塊的物理地址;無效數據清除步驟,清除上述舊物理塊的無效數據;第三標記寫入步驟,向上述第三標記中寫入示出上述舊物理塊的無效數據的清除已結束的固定值,所述第三標記設置在已登記了上述舊物理塊的物理地址的上述冗余區(qū)域中,示出該舊物理塊的無效數據是否已清除完。
11.如權利要求10所述的非易失性存儲器裝置的控制方法,其特征在于,還具有下述步驟無效數據清除步驟,在上述非易失性存儲器裝置的啟動時,讀出上述物理塊的冗余區(qū)域的上述第三標記,清除上述第三標記沒寫入完的上述舊物理塊的無效數據;第三標記寫入步驟,向上述第三標記中寫入示出上述舊物理塊的無效數據的清除已結束的固定值。
全文摘要
提供一種非易失性存儲器裝置的控制方法,在數據寫入中或清除中發(fā)生電源切斷等的異常而處理中斷了的情況下,也能正常地進行下一次啟動后的數據寫入。本發(fā)明的非易失性存儲器裝置的控制方法具有第一標記寫入步驟,在向由多個物理塊構成的非易失性存儲器中寫入數據時,在位于物理塊的起始頁的冗余區(qū)域中的、示出該起始頁中是否寫入著數據的第一標記中,寫入示出寫入著數據的固定值;數據寫入步驟,向該物理塊寫入數據。
文檔編號G06F11/14GK1596401SQ03801648
公開日2005年3月16日 申請日期2003年9月29日 優(yōu)先權日2002年10月2日
發(fā)明者本多利行, 外山昌之, 坂井敬介 申請人:松下電器產業(yè)株式會社