TWI433157B - 存取快閃記憶體的方法以及相關之記憶裝置 - Google Patents

存取快閃記憶體的方法以及相關之記憶裝置 Download PDF

Info

Publication number
TWI433157B
TWI433157B TW098129827A TW98129827A TWI433157B TW I433157 B TWI433157 B TW I433157B TW 098129827 A TW098129827 A TW 098129827A TW 98129827 A TW98129827 A TW 98129827A TW I433157 B TWI433157 B TW I433157B
Authority
TW
Taiwan
Prior art keywords
data
page
data page
specific
block
Prior art date
Application number
TW098129827A
Other languages
English (en)
Other versions
TW201110129A (en
Inventor
Po Syuan Chen
Chi Hsiang Hung
Original Assignee
Silicon Motion Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to TW098129827A priority Critical patent/TWI433157B/zh
Priority to US12/772,995 priority patent/US8464132B2/en
Publication of TW201110129A publication Critical patent/TW201110129A/zh
Application granted granted Critical
Publication of TWI433157B publication Critical patent/TWI433157B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

存取快閃記憶體的方法以及相關之記憶裝置
本發明係有關於快閃記憶體(Flash Memory),尤指一種存取快閃記憶體的方法以及相關之記憶裝置及其控制器。
近年來由於快閃記憶體的技術不斷地發展,各種可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡)被廣泛地實施於諸多應用中。因此,這些可攜式記憶裝置中之快閃記憶體的存取控制遂成為相當熱門的議題。
請參考第1圖,第1圖為記憶體控制器將更新資料寫入至快閃記憶體中一區塊100的示意圖。如第1圖所示,記憶體控制器係將更新資料自一主裝置(例如一個人電腦)循序寫入至區塊100之資料頁P1、P2、P3、P4、...中,然而,若是在記憶體控制器將資料寫入資料頁P4的過程中發生斷電的情形,則會使得資料頁P4的寫入不完全。因此,等到供電回復正常時,記憶體控制器會從區塊100中最後一個資料頁Pn往回開始讀取(此時資料頁P5~Pn均是空白資料頁),當讀到資料頁P4時,若是資料頁P4中的資料發生讀取錯誤,亦即,資料頁P4中的資料無法使用其錯誤更正碼(Error Correction Code,ECC)更正回正確的資料時,記憶體控制器會判斷資料頁P4的資料係在斷電的情形下寫入的,並將資料頁P4的資料捨棄不用;若是資料頁P4中的資料沒有發生讀取錯誤(亦即可以使用其錯誤更正碼更正回正確的資料),則記憶體控制器會將資料頁P4的資料視為正確的。
然而,在將資料寫入資料頁的過程中發生斷電很容易造成快閃記憶體中記憶單元的電位不穩定,亦即,前述資料頁P4之“寫入不完全”的狀態包含有明顯的寫入錯誤,或是介於寫入錯誤與寫入正確之間的寫入模糊狀態,若是資料頁P4係為寫入模糊狀態,則資料頁P4於下一時間被讀取時,在一般狀態下可能會讀取出正確的資料,然而,若是在大量耗電的狀態下(例如快閃記憶體進行大量的讀取寫入),資料頁P4可能會發生讀取錯誤的情形。換句話說,在資料頁P4係為寫入模糊的狀態下,每一次讀取資料頁P4可能都會有不同的結果,亦即有時候所讀取的資料是正確的,而有時候所讀取的資料卻是錯誤的。因此,若是在斷電後供電回復正常時,記憶體控制器因為資料頁P4中的資料沒有發生讀取錯誤而判斷資料頁P4中的資料是正確的,則很有可能在後續的使用上,資料頁P4中的資料會發生讀取錯誤而造成使用者的困擾。
因此,本發明的目的之一在於提供一種存取快閃記憶體的方法以及相關之記憶裝置及其控制器,以解決上述的問題。
依據本發明之一實施例,一種存取一快閃記憶體的方法包含:
將一資料串流寫入該快閃記憶體之至少一區塊之至少一個資料頁中,其中該至少一個資料頁中每一資料頁均具有一識別碼;讀取對應於該至少一個資料頁之至少一個識別碼;以及依據該至少一個識別碼來決定一特定資料頁,其中該特定資料頁係為該快閃記憶體在斷電前該資料串流最後寫入的資料頁。
依據本發明之另一實施例,一種記憶裝置包含有一快閃記憶體以及一控制器。該控制器係用來將一資料串流寫入該快閃記憶體之至少一區塊之至少一個資料頁中,其中該至少一個資料頁中每一資料頁均具有一識別碼,該控制器讀取對應於該至少一個資料頁之至少一個識別碼,並依據該至少一個識別碼來決定一特定資料頁,其中該特定資料頁係為該快閃記憶體在斷電前該資料串流最後寫入的資料頁。
請參考第2圖,第2圖為依據本發明一實施例之一種記憶裝置200的示意圖,其中本實施例之記憶裝置200尤其係為可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡)。記憶裝置200包含有一快閃記憶體(Flash Memory)220以及一控制器,該控制器可為一記憶體控制器210,且係用來存取快閃記憶體220。依據本實施例,記憶體控制器210包含一微處理器212、一唯讀記憶體(Read Only Memory,ROM)212M、一控制邏輯214、一緩衝記憶體216、與一介面邏輯218。唯讀記憶體係用來儲存一程式碼212C,而微處理器212則用來執行程式碼212C以控制對快閃記憶體220之存取(Access)。
於典型狀況下,快閃記憶體220包含複數個區塊(Block),而該控制器(例如:透過微處理器212執行程式碼212C之記憶體控制器210)對快閃記憶體220進行複製、抹除、合併資料等運作係以區塊為單位來進行複製、抹除、合併資料。另外,一區塊可記錄特定數量的資料頁(Page),其中該控制器(例如:透過微處理器212執行程式碼212C之記憶體控制器210)對快閃記憶體220進行寫入資料之運作係以資料頁為單位來進行寫入。
實作上,透過微處理器212執行程式碼212C之記憶體控制器210可利用其本身內部之元件來進行諸多控制運作,例如:利用控制邏輯214來控制快閃記憶體220之存取運作(尤其是對至少一區塊或至少一資料頁之存取運作)、利用緩衝記憶體216進行所需之緩衝處理、以及利用介面邏輯218來與一主裝置(Host Device)溝通。
請同時參考第2圖以及第3圖,第3圖為依據本發明一實施例當母區塊M1~M3中之一部分資料需要更新時,記憶體控制器210將包含有複數筆更新資料之一資料串流自主裝置寫入快閃記憶體200中複數個暫時區塊T1~T3的示意圖,其中暫時區塊T1~T3係分別用來儲存母區塊M1~M3的更新資料,其中暫時區塊與母區塊係對應至相同的邏輯位址。參考第3圖,首先,假設第一筆更新資料係為母區塊M1的更新資料,則記憶體控制器210將第一筆更新資料寫入至暫時區塊T1的資料頁P1~P3,並在資料頁P1~P3中寫入一識別碼“0x00”,請注意到,在一實施例中,各資料頁係可區分為用以儲存資料的資料區域(data area)以及用以儲存識別資料的備用區域(spare area),可將識別碼寫入備用區域。接著,假設第二筆更新資料係為母區塊M2的更新資料,則記憶體控制器210將第二筆更新資料寫入至暫時區塊T2的資料頁P1,並在資料頁P1中寫入識別碼“0x01”;接著,假設第三筆更新資料係為母區塊M3的更新資料,則記憶體控制器210將第三筆更新資料寫入至暫時區塊T3的資料頁P1~P2,並在資料頁P1~P2中寫入識別碼“0x02”;假設第四筆更新資料係為母區塊M1的更新資料,則記憶體控制器210將第四筆更新資料寫入至暫時區塊T1的資料頁P4,並在資料頁P4中寫入識別碼“0x03”;接著,假設第五筆更新資料係為母區塊M2的更新資料,則記憶體控制器210將第五筆更新資料寫入至暫時區塊T2的資料頁P2,並在資料頁P2中寫入識別碼“0x04”,此時,若是在記憶體控制器210將第五筆更新資料寫入至暫時區塊T2的資料頁P2時發生斷電,則暫時區塊T2的資料頁P2很可能會發生寫入不完全的情形。
因此,當記憶裝置200恢復供電之後,記憶體控制器210需要對快閃記憶體220中的資料作檢查以確定自主裝置寫入暫時區塊T1~T3之更新資料的正確性。請同時參考第3圖以及第4圖,第4圖為本發明一實施例之存取快閃記憶體220的流程圖。需注意的是,若是有實質上相同的結果,本發明之存取快閃記憶體的方法並不以第4圖所示流程圖的步驟為限,參考第4圖,流程說明如下:
首先,在步驟400,流程開始。接著,在步驟402中,記憶體控制器210開始判斷快閃記憶體220中區塊Bi是否為一暫時區塊(請注意到,在一實施例中,記憶體控制器210係讀取區塊Bi備用區域中的資訊以判斷區塊Bi是否為一暫時區塊),若區塊Bi為暫時區塊,則進入步驟404,若區塊Bi不為暫時區塊,則進入步驟408;在步驟404中,記憶體控制器210檢查區塊Bi中是否有資料頁具有識別碼(亦即第3圖中之“0x00”~“0x04”),若是區塊Bi中至少有一資料頁具有識別碼,則進入步驟406,若區塊Bi中沒有資料頁具有識別碼,則進入步驟408。在步驟406中,記憶體控制器210讀取區塊Bi中所有具有識別碼的資料頁,之後流程進入步驟408。在步驟408中,記憶體控制器210判斷區塊Bi是否為快閃記憶體220中最後一個區塊,若目前區塊不是快閃記憶體220中最後一個區塊,則進入步驟410之後回到步驟402以判斷下一區塊(亦即,Bi+1 )是否為一暫時區塊;若區塊Bi為快閃記憶體220中最後一個區塊,則進入步驟412以決定一特定區塊以及該特定區塊中之一特定資料頁,其中該特定區塊係為在發生斷電前該資料串流最後寫入的區塊,且該特定資料頁係為在發生斷電前該資料串流最後寫入的資料頁,在步驟412中,記憶體控制器210係比較所讀取之複數個識別碼,並依據該複數個識別碼以決定該特定資料頁。
簡單來說,上述步驟402~412的目的係為了決定記憶體控制器210在發生斷電前將該資料串流最後寫入的資料頁(亦即,特定區塊之特定資料頁),以第3圖所示之暫時區塊T1~T3為例,記憶體控制器210係比較暫時區塊T1~T3中複數個資料頁之複數個識別碼(亦即“0x00”~“0x04”),並依據該複數個識別碼(“0x00”~“0x04”)來判斷出哪一個資料頁為該資料串流最後寫入的資料頁。在此實施例中,識別碼係為一寫入次序碼,因此,記憶體控制器210藉由判斷暫時區塊T2中的資料頁P2具有最大的識別碼“0x04”而決定暫時區塊T2中的資料頁P2係為更新資料最後寫入的資料頁(步驟412)。在另一實施例中,由於在寫入某一資料頁之識別碼時,亦可能發生斷電,而使得識別碼無法被正確寫入。故當記憶裝置200恢復供電之後,記憶體控制器210讀取該資料頁之識別碼時發生讀取錯誤,記憶體控制器210亦得將該資料頁視為在發生斷電前該資料串流最後寫入資料頁。
在決定出該特定區塊以及該特定資料頁(在發生斷電前該資料串流最後寫入的區塊以及資料頁)之後,接著,於步驟414,記憶體控制器210使用該特定資料頁之錯誤更正碼來判斷該特定資料頁中的錯誤資料是否可以更正(如果有任何錯誤資料發生的話),當該特定資料頁中的錯誤資料被判斷為可更正時,進入步驟416且記憶體控制器210依據該錯誤更正碼來更正該特定資料頁中的錯誤資料,並將更正後的資料以及該特定區塊中其他所有資料頁的資料儲存至一空白區塊中;當該特定資料頁中的錯誤資料被判斷為不可更正時,則不使用此特定資料頁的資料或是將此特定資料頁中的資料刪除。
以第3圖所示之暫時區塊T2為例,若是資料頁P2中的錯誤資料被記憶體控制器210判斷為可更正時,則記憶體控制器210依據資料頁P2中的錯誤更正碼來更正暫時區塊T2之資料頁P2中的錯誤資料,並將暫時區塊T2之資料頁P1以及更正後的資料頁P2儲存至一空白區塊中(未繪示);若是暫時區塊T2之資料頁P2中的錯誤資料被記憶體控制器210判斷為不可更正時,則記憶體控制器210之後將不使用暫時區塊T2之資料頁P2的資料,或是甚至將資料頁P2中的資料刪除。
需注意的是,第3圖所示之暫時區塊T1~T3之資料頁的識別碼僅為一範例說明,在本發明之其他實施例中,暫時區塊T1~T3之資料頁的識別碼可以依據設計者的考量而有不同的變化,以第5圖為例,記憶體控制器210將第一筆更新資料寫入至暫時區塊T1的資料頁P1~P3時,同時分別在資料頁P1~P3中寫入識別碼“0x00”、“0x01”、“0x02”;接著,記憶體控制器210將第二筆更新資料寫入至暫時區塊T2的資料頁P1,並在資料頁P1中寫入識別碼“0x03”;接著,記憶體控制器210將第三筆更新資料寫入至暫時區塊T3的資料頁P1~P2,並分別在資料頁P1~P2中寫入識別碼“0x04”、“0x05”;接著,記憶體控制器210將第四筆更新資料寫入至暫時區塊T1的資料頁P4,並在資料頁P4中寫入識別碼“0x06”;接著,記憶體控制器210將第五筆更新資料寫入至暫時區塊T2的資料頁P2,並在資料頁P2中寫入識別碼“0x07”。簡單來說,只要暫時區塊T1~T3之資料頁之複數個識別碼可以被用來判斷哪一個資料頁是該資料串流最後寫入的資料頁,這些設計上的變化均應隸屬於本發明的範疇。
此外,在第3圖所示之實施例中,暫時區塊T1~T3只儲存主裝置所傳送的更新資料,然而,在本發明之其他實施例中,暫時區塊T1~T3同時亦可分別用來儲存母區塊M1~M3中不需更新的資料。請參考第6圖,第6圖為依據本發明另一實施例當母區塊M1~M3中之一部分資料需要更新時,記憶體控制器210將包含有複數筆更新資料之一資料串流自主裝置寫入快閃記憶體200中複數個暫時區塊T1~T3的示意圖。此外,在本實施例中,係假設母區塊M1之資料頁P2、P3、母區塊M2之資料頁P3、以及母區塊M3之資料頁P2~P4中的資料需要更新。參考第6圖,首先,假設第一筆更新資料係為母區塊M1之資料頁P2、P3的更新資料,則記憶體控制器210會先將母區塊M1之資料頁P1中的資料複製至暫時區塊T1之資料頁P1,接著,再將第一筆更新資料自該主裝置寫入至暫時區塊T1的資料頁P2、P3,並在暫時區塊T1之資料頁P2、P3中寫入一識別碼“0x00”;接著,假設第二筆更新資料係為母區塊M3之資料頁P2~P4的更新資料,則記憶體控制器210先將母區塊M3之資料頁P1中的資料複製至暫時區塊T3之資料頁P1,再將第二筆更新資料自該主裝置寫入至暫時區塊T3的資料頁P2~P4,並在資料頁P2~P4中寫入識別碼“0x01”;接著,假設第三筆更新資料係為母區塊M2之資料頁P3的更新資料,則記憶體控制器210先將母區塊M2之資料頁P1、P2中的資料複製至暫時區塊T2之資料頁P1、P2,再將第三筆更新資料自該主裝置寫入至暫時區塊T2的資料頁P3,並在資料頁P3中寫入識別碼“0x02”,以此類推。此時,若是在記憶裝置200發生斷電,則於記憶裝置200之供電回復正常後,進行第4圖所示之步驟以決定出一特定區塊(在發生斷電前該資料串流最後寫入的區塊)以及位於該特定區塊之一特定資料頁(在發生斷電前該資料串流最後寫入的資料頁),並判斷該特定資料頁是否可以藉由該特定資料頁之錯誤更正碼來更正回正確的資料(步驟414),以決定是否將更正後的資料以及該特定區塊中其他所有資料頁的資料儲存至一空白區塊中(步驟416)或是不使用該特定資料頁的資料(步驟418)。
簡要歸納本發明,在本發明之記憶裝置中,記憶體控制器係將一資料串流寫入一快閃記憶體之至少一區塊之至少一個資料頁中,其中該至少一個資料頁中每一資料頁均具有一識別碼,之後,記憶體控制器讀取對應於該至少一個資料頁之至少一個識別碼,並依據該至少一個識別碼來決定一特定資料頁,其中該特定資料頁係為在發生斷電前該資料串流最後寫入的資料頁,最後,當該特定資料頁中的錯誤資料被判斷為可更正時,更正該特定資料頁中的錯誤資料,並將更正後的資料以及該區塊中其他所有資料頁的資料儲存至一空白區塊中。記憶體控制器係依據至少一個識別碼的大小以及正確性來決定該特定資料頁。例如,當一資料頁之識別碼發生錯誤時,可將該資料頁決定為特定資料頁,或者,當一資料頁之識別碼較其他資料頁之識別碼大(或者較其他資料頁之識別碼小)時,將該資料頁決定為特定資料頁。再者,當複數個資料頁之識別碼相同且較其他資料頁之識別碼大(或者較其他資料頁之識別碼小)時,更進一步地依據該些資料頁之實體頁位址來決定何者為特定資料頁,可將該些資料頁中,實體頁位址最大的資料頁決定為特定資料頁。依據本發明之快閃記憶體的方法以及記憶裝置,可以確保萬一更新資料寫入資料頁的過程中發生斷電,等到供電回復正常後,記憶裝置也不會發生有資料頁中的資料為寫入模糊的狀態,因此可以避免在後續的使用上,資料頁中的資料會發生讀取錯誤的問題。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
200...記憶裝置
210...記憶體控制器
212...微處理器
212C...程式碼
212M...唯讀記憶體
214...控制邏輯
216...緩衝記憶體
218...介面邏輯
220...快閃記憶體
M1、M2、M3...母區塊
T1、T2、T3...暫時區塊
P1、P2、P3、P4...資料頁
第1圖為記憶體控制器將更新資料寫入至快閃記憶體中一區塊的示意圖。
第2圖為依據本發明一實施例之一種記憶裝置的示意圖。
第3圖為依據本發明一實施例當母區塊M1~M3中之一部分資料需要更新時,第2圖所示之記憶體控制器將一資料串流自主裝置寫入快閃記憶體中複數個暫時區塊T1~T3的示意圖。
第4圖為本發明一實施例之存取快閃記憶體的流程圖。
第5圖為依據本發明另一實施例當母區塊M1~M3中之一部分資料需要更新時,第2圖所示之記憶體控制器將一資料串流自主裝置寫入快閃記憶體中複數個暫時區塊T1~T3的示意圖。
第6圖為依據本發明另一實施例當母區塊M1~M3中之一部分資料需要更新時,第2圖所示之記憶體控制器將一資料串流自主裝置寫入快閃記憶體中複數個暫時區塊T1~T3的示意圖。
200...記憶裝置
210...記憶體控制器
212...微處理器
212C...程式碼
212M...唯讀記憶體
214...控制邏輯
216...緩衝記憶體
218...介面邏輯
220...快閃記憶體

Claims (20)

  1. 一種存取一快閃記憶體(Flash Memory)的方法,包含有:將一資料串流寫入該快閃記憶體之複數個區塊之複數個資料頁中,其中針對每一個資料頁,當資料寫入至該資料頁時,同時在該資料頁中寫入一識別碼;讀取對應於該複數個資料頁之複數個識別碼;以及比較該複數個識別碼來決定一特定資料頁,其中該特定資料頁係為該快閃記憶體在斷電前該資料串流最後寫入的資料頁。
  2. 如申請專利範圍第1項所述之方法,其中該複數個識別碼係為複數個寫入次序碼,以及該複數個寫入次序碼係紀錄該資料串流寫入至該複數個資料頁的順序。
  3. 如申請專利範圍第2項所述之方法,其中當將該資料串流寫入一第一區塊之資料頁時,將對應該第一區塊之資料頁之識別碼記錄為K,當將該資料串流寫入一第二區塊之資料頁時,將對應該第二區塊之資料頁之識別碼記錄為K+1或K-1。
  4. 如申請專利範圍第2項所述之方法,其中比較該複數個識別碼來決定該特定資料頁之步驟更包含:選擇該些寫入次序碼中具有最大值或最小值之一寫入次序碼作為一特定寫入次序碼;以及 將對應該特定寫入次序碼之至少一資料頁決定為該特定資料頁。
  5. 如申請專利範圍第4項所述之方法,其中將對應該特定寫入次序碼之該至少一資料頁決定為該特定資料頁之步驟更包含:將對應該特定寫入次序碼之該些資料頁中具有最大實體頁位址之資料頁決定為該特定資料頁。
  6. 如申請專利範圍第2項所述之方法,其中當將該資料串流寫入一第一資料頁時,將對應該第一資料頁之識別碼記錄為K,當將該資料串流寫入一第二資料頁時,將對應該第二資料頁之識別碼記錄為K+1或K-1。
  7. 如申請專利範圍第1項所述之方法,另包含有:使用該特定資料頁之錯誤更正碼來判斷該特定資料頁中的錯誤資料是否可以更正。
  8. 如申請專利範圍第7項所述之方法,另包含有:當該特定資料頁中的錯誤資料被判斷為可更正時,更正該特定資料頁中的錯誤資料,並將更正後的資料儲存至一空白區塊中。
  9. 如申請專利範圍第8項所述之方法,另包含有: 當該特定資料頁中的錯誤資料被判斷為可更正時,另將該區塊中其他所有資料頁的資料儲存至該空白區塊中。
  10. 如申請專利範圍第1項所述之方法,其中比較該複數個識別碼來決定該特定資料頁之步驟更包含:當一第一資料頁所對應之識別碼異常,則將該第一資料頁決定該特定資料頁。
  11. 一種記憶裝置,包含有一快閃記憶體(Flash Memory);以及一控制器,用來將一資料串流寫入該快閃記憶體之複數個區塊之複數個資料頁中,其中針對每一個資料頁,當資料寫入至該資料頁時,同時在該資料頁中寫入一識別碼,該控制器讀取對應於該複數個資料頁之複數個識別碼,並比較該複數個識別碼來決定一特定資料頁,其中該特定資料頁係為該快閃記憶體在斷電前該資料串流最後寫入的資料頁。
  12. 如申請專利範圍第11項所述之記憶裝置,其中該複數個識別碼係為複數個寫入次序碼,該複數個寫入次序碼係紀錄該資料串流寫入至該複數個資料頁的順序。
  13. 如申請專利範圍第12項所述之記憶裝置,其中當將該資料串流寫入一第一區塊之資料頁時,該控制器將對應該第一區塊之資 料頁之識別碼記錄為K,當將該資料串流寫入一第二區塊之資料頁時,該控制器將對應該第二區塊之資料頁之識別碼記錄為K+1或K-1。
  14. 如申請專利範圍第12項所述之記憶裝置,其中該控制器選擇該些寫入次序碼中具有最大值或最小值之一寫入次序碼作為一特定寫入次序碼;以及該控制器將對應該特定寫入次序碼之至少一資料頁決定為該特定資料頁。
  15. 如申請專利範圍第14項所述之記憶裝置,其中該控制器將對應該特定寫入次序碼之該些資料頁中具有最大實體頁位址之資料頁決定為該特定資料頁。
  16. 如申請專利範圍第12項所述之記憶裝置,其中當將該資料串流寫入一第一資料頁時,該控制器將對應該第一資料頁之識別碼記錄為K,當將該資料串流寫入一第二資料頁時,該控制器將對應該第二資料頁之識別碼記錄為K+1或K-1。
  17. 如申請專利範圍第11項所述之記憶裝置,其中該控制器另使用該特定資料頁之錯誤更正碼來判斷該特定資料頁中的錯誤資料是否可以更正。
  18. 如申請專利範圍第17項所述之記憶裝置,當該特定資料頁中的 錯誤資料被判斷為可更正時,該控制器更正該特定資料頁中的錯誤資料並將更正後的資料儲存至一空白區塊中。
  19. 如申請專利範圍第18項所述之記憶裝置,當該特定資料頁中的錯誤資料被判斷為可更正時,該控制器另將該區塊中其他所有資料頁的資料儲存至該空白區塊中。
  20. 如申請專利範圍第11項所述之記憶裝置,其中當一第一資料頁所對應之識別碼異常,則該控制器將該第一資料頁決定該特定資料頁。
TW098129827A 2009-09-04 2009-09-04 存取快閃記憶體的方法以及相關之記憶裝置 TWI433157B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW098129827A TWI433157B (zh) 2009-09-04 2009-09-04 存取快閃記憶體的方法以及相關之記憶裝置
US12/772,995 US8464132B2 (en) 2009-09-04 2010-05-03 Method for accessing flash memory and associated memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW098129827A TWI433157B (zh) 2009-09-04 2009-09-04 存取快閃記憶體的方法以及相關之記憶裝置

Publications (2)

Publication Number Publication Date
TW201110129A TW201110129A (en) 2011-03-16
TWI433157B true TWI433157B (zh) 2014-04-01

Family

ID=43731637

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098129827A TWI433157B (zh) 2009-09-04 2009-09-04 存取快閃記憶體的方法以及相關之記憶裝置

Country Status (2)

Country Link
US (1) US8464132B2 (zh)
TW (1) TWI433157B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9490022B2 (en) 2015-02-02 2016-11-08 Silicon Motion, Inc. Data storage device and data maintenance method
US10248526B2 (en) 2016-12-13 2019-04-02 Silicon Motion, Inc. Data storage device and data maintenance method thereof
TWI656475B (zh) * 2016-12-13 2019-04-11 慧榮科技股份有限公司 具資料儲存裝置的電子系統

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8737130B2 (en) * 2012-02-29 2014-05-27 Sandisk Technologies Inc. System and method of determining a programming step size for a word line of a memory
US10203888B2 (en) * 2015-12-18 2019-02-12 Intel Corporation Technologies for performing a data copy operation on a data storage device with a power-fail-safe data structure
CN111679787B (zh) 2016-04-27 2023-07-18 慧荣科技股份有限公司 闪存装置、闪存控制器及闪存存储管理方法
CN111951855B (zh) * 2016-04-27 2022-05-10 慧荣科技股份有限公司 存取闪存模块的方法及相关的闪存控制器与记忆装置
US10019314B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
TWI639946B (zh) * 2017-01-09 2018-11-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
US10620870B2 (en) 2017-12-08 2020-04-14 Intel Corporation Data storage device with bytewise copy
CN113126885A (zh) * 2020-01-14 2021-07-16 瑞昱半导体股份有限公司 数据写入方法、数据读取方法与存储装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3197815B2 (ja) * 1996-04-15 2001-08-13 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 半導体メモリ装置及びその制御方法
CN100590737C (zh) 2003-01-26 2010-02-17 深圳市朗科科技股份有限公司 闪存介质中的数据管理方法
US7797479B2 (en) * 2005-06-30 2010-09-14 Intel Corporation Technique to write to a non-volatile memory
US20070083697A1 (en) * 2005-10-07 2007-04-12 Microsoft Corporation Flash memory management
US7941692B2 (en) * 2007-12-31 2011-05-10 Intel Corporation NAND power fail recovery
US8555086B2 (en) * 2008-06-30 2013-10-08 Intel Corporation Encrypting data on a non-volatile memory
JP5029513B2 (ja) * 2008-06-30 2012-09-19 ソニー株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9490022B2 (en) 2015-02-02 2016-11-08 Silicon Motion, Inc. Data storage device and data maintenance method
TWI573142B (zh) * 2015-02-02 2017-03-01 慧榮科技股份有限公司 資料儲存裝置以及資料維護方法
US10248526B2 (en) 2016-12-13 2019-04-02 Silicon Motion, Inc. Data storage device and data maintenance method thereof
TWI656475B (zh) * 2016-12-13 2019-04-11 慧榮科技股份有限公司 具資料儲存裝置的電子系統

Also Published As

Publication number Publication date
US8464132B2 (en) 2013-06-11
TW201110129A (en) 2011-03-16
US20110066877A1 (en) 2011-03-17

Similar Documents

Publication Publication Date Title
TWI433157B (zh) 存取快閃記憶體的方法以及相關之記憶裝置
TWI381390B (zh) 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器
TWI677879B (zh) 資料儲存裝置與資料處理方法
TWI423026B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI490876B (zh) 系統啟動引導處理方法及裝置
CN105723344A (zh) 用于非易失性ram差错重映射的方法和装置
TWI512742B (zh) 非揮發性快閃記憶體擦除異常存儲塊修復方法和裝置
US8756398B2 (en) Partitioning pages of an electronic memory
CN101848000A (zh) 解码方法、编码方法及启动控制***
TWI554886B (zh) 資料保護方法、記憶體控制電路單元及記憶體儲存裝置
TWI489466B (zh) 記憶體抹除方法、記憶體控制器與記憶體儲存裝置
TWI633428B (zh) 資料儲存裝置與記憶體裝置之資料處理方法
CN105788648A (zh) 基于异构混合内存的nvm坏块识别处理及纠错方法和***
CN101567220B (zh) 闪存的损坏区块辨识方法、储存***及其控制器
TWI460586B (zh) 資料儲存裝置與快閃記憶體操作方法
TWI447579B (zh) 程式碼載入與存取方法、記憶體控制器與記憶體儲存裝置
CN105808371A (zh) 数据备份与恢复方法、控制芯片及存储装置
CN102033814A (zh) 存取一闪存的方法以及相关的记忆装置
US10685711B1 (en) Decoding method, memory controlling circuit unit and memory storage device
CN103594120A (zh) 以读代写的存储器纠错方法
TWI692771B (zh) 用來控制一記憶裝置的運作之方法、記憶裝置及其控制器以及電子裝置
CN102279757A (zh) 一种***程序启动的方法及装置
TWI509615B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
CN110069362B (zh) 数据储存装置与数据处理方法
JP2010067098A (ja) 情報処理装置、情報処理方法および情報処理プログラム