TWI386800B - 快閃記憶體之更新資料的管理方法以及相關之記憶卡 - Google Patents

快閃記憶體之更新資料的管理方法以及相關之記憶卡 Download PDF

Info

Publication number
TWI386800B
TWI386800B TW097138157A TW97138157A TWI386800B TW I386800 B TWI386800 B TW I386800B TW 097138157 A TW097138157 A TW 097138157A TW 97138157 A TW97138157 A TW 97138157A TW I386800 B TWI386800 B TW I386800B
Authority
TW
Taiwan
Prior art keywords
data
page
block
file configuration
configuration block
Prior art date
Application number
TW097138157A
Other languages
English (en)
Other versions
TW201015313A (en
Inventor
Wu Chi Kuo
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 TW097138157A priority Critical patent/TWI386800B/zh
Priority to US12/404,335 priority patent/US8176231B2/en
Publication of TW201015313A publication Critical patent/TW201015313A/zh
Application granted granted Critical
Publication of TWI386800B publication Critical patent/TWI386800B/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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

快閃記憶體之更新資料的管理方法以及相關之記憶卡
本發明係關於快閃記憶體,特別係關於一種快閃記憶體之更新資料的管理方法以其記憶卡。
快閃記憶體係為一種可以被電抹除並且重新寫入的非易失性記憶體,並且主要係應用在記憶卡與USB快閃隨身碟,藉以作為一般的儲存與電腦裝置和數位產品間的資料之轉運。快閃記憶體的成本遠小於EEPROM,所以已經成為主流的記憶體裝置。舉例而言,快閃記憶體係應用於個人數位助理(PDA)、可攜式電腦、數位音頻播放器、數位相機與行動電話中。
快閃記憶體係包括眾多的記憶區塊(block),並且每一記憶區塊具有複數個用以儲存資料的儲存頁面(page)。快閃記憶體係以記憶區塊為單元進行抹除,而以儲存頁面為單位進行寫入。換言之,當快閃記憶體之資料被抹除時,快閃記憶體之一記憶區塊中的所有儲存頁面都必須要被一起抹除。然而,當欲寫入資料至快閃記憶體中時,該資料可以被寫入快閃記憶體之一記憶區塊中一特定儲存頁面中。此外,資料僅可以被寫入至未儲存資料的儲存頁面或已抹除的儲存頁面。
然而,快閃記憶體中每個記憶區塊僅能被抹除一定的 次數。當一記憶區塊之抹除次數超過一臨界值時,該記憶區塊將無法被正確地寫入,並且由該記憶區塊讀取出資料時將可能發生錯誤。換言之,對快閃記憶體之使用壽命而言,平均地使用記憶區塊是十分重要的,但傳統平均抹寫方法並無法有效地達成此目的。因此,需要一種方式可以有效且平均地使用快閃記憶體中之記憶區塊。
本發明係提供一種快閃記憶體之更新資料的管理方法,其中快閃記憶體包括一母區塊,母區塊具有複數欲更新之頁面,每一頁面包括複數區段,此管理方法包括取得用以更新母區塊中一目標頁面之一第一資料;判斷第一資料是否包含用以更新目標頁面中一尾端區段之資料;於第一資料不包含用以更新目標頁面中尾端區段之資料時,將第一資料寫入一第一檔案配置區塊之一替代頁面中;以及於第一資料含有用以更新目標頁面中尾端區段之資料時,將第一資料寫入一第二檔案配置區塊之一對應頁面中,其中第二檔案配置區塊中之對應頁面與母區塊中之目標頁面具有相同的頁面索引。
本發明亦提供一種記憶卡,包括一快閃記憶體,包括一母區塊、一第一檔案配置區塊以及一第二檔案配置區塊,其中母區塊包括複數欲更新之頁面,每一頁面包括複數區段;以及一控制器,取得用以更新母區塊中一目標頁面之一第一資料,於第一資料不包含用以更新目標頁面中 一尾端區段的資料時,將第一資料寫入一第一檔案配置區塊之一替代頁面中,以及於第一資料含有用以更新尾端區段之資料時,將第一資料寫入一第二檔案配置區塊之一對應頁面中,其中第二檔案配置區塊中之對應頁面與母區塊中之目標頁面具有相同的頁面索引。
為了讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉一較佳實施例,並配合所附圖示,作詳細說明如下:
第1圖係為本發明之電子系統之一示意圖。如圖所示,電子系統100包括一主機102以及一記憶卡104,而記憶卡104包括一控制器112以及一快閃記憶體114。於一實施例中,快閃記憶體114係為一NAND型快閃記憶體,但不限定於此。快閃記憶體114包括複數記憶區塊(block),每個記憶區塊具有複數頁面(page)。快閃記憶體114之記憶區塊中,存有資料的記憶區塊,例如記憶區塊122~128,在邏輯上屬於一資料區(data region)120,而未存放資料的記憶區塊,例如記憶區塊132~134,在邏輯上屬於一備用區(spare region)130。
快閃記憶體114係以頁面為單位進行寫入(program),當一記憶區塊中的某些特定頁面未存放資料時,控制器112可將資料寫入這些特定頁面中。此外,快閃記憶體114係以記憶區塊為單位進行抹除,一旦記憶區塊中有一頁面 需要抹除,控制器112則必須將記憶區塊中的所有頁面一併抹除。由於控制器112僅可以將資料寫入沒有存資料的頁面中,所以當主機102必須更新存有資料的頁面之資料時,控制器112必須根據一特定方法來管理資料更新。
如第2圖所示係為本發明中用以管理快閃記憶體之資料更新的步驟流程圖。假設主機102要求控制器112更新一母區塊中之某些頁面,並且傳送這些頁面之更新資料至控制器112。然而,母區塊中將被更新的這些頁面已經存有資料,因此控制器112無法直接將資料寫入至母區塊內要被更新的這些頁面中。控制器112接著會根據第2圖中所示之方法進行資料更新。第3圖所示係為母區塊302之一示意圖。如圖所示,母區塊302包括複數個頁面PA0~PAN,每個頁面PA0~PAN皆具有4個區段(sector),但不限定於此。舉例而言,頁面PA0具有區段S0~S3、頁面PA1具有區段S4~S7、頁面PA2具有區段S8~S11,依此類推。每個頁面PA0~PAN皆存有資料。舉例而言,頁面PA0中之區段S0~S3分別存放資料D0~D3、頁面PA1中之區段S4~S7分別存放資料D4~D7、頁面PA2中之區段S8~S11分別存放資料D8~D11,依此類推。
於步驟S201中,控制器112會取得用以更新一目標頁面中之該區段(或該等區段)的資料(簡稱為第一資料)。假設主機102要求控制器112更新母區塊302之頁面PA0中一個或多個區段之資料。此時,控制器112會取得用以更新頁面PA0中一個或多個區段之資料。要注意的是,在步驟 S201之前,控制器112會由備用區130中選擇(或取出)一個未存放資料的(即空白的)記憶區塊,備用區130中具有至少一個已被抹除的空白記憶區塊。控制器112所選的空白記憶區塊係視為與將被更新的母區塊互相對應之一第一檔案配置(file allocation table;FAT)區塊。
於步驟S203中,控制器112會判斷第一資料是否含有用以更新目標頁面中尾端區段之資料。若第一資料不含有用以更新目標頁面中尾端區段之資料,則進行步驟S205;反之,則進行步驟S207。在此實施例中,尾端區段係為每個頁面PA0~PAN中的最後一個區段,例如區段S3、S7、S11、S15…,依此類推。舉例而言,控制器112會判斷第一資料中是否含有用以更新頁面PA0中區段S3之資料。若第一資料中含有用以更新區段S3的資料,則進行步驟S205。反之,若第一資料中不含有用以更新區段S3的資料,則進行步驟S207。
於步驟S205中,控制器112會將第一資料寫入第一檔案配置區塊中一替代頁面中。仔細而言,控制器112會由母區塊302中取出目標頁面中不需被第一資料更新之區段的資料(簡稱為第二資料),並將第一資料與第二資料寫入第一檔案配置區塊之替代頁面中。
於步驟S207中,控制器112會將第一資料寫入一第二檔案配置區塊中一對應頁面中。仔細而言,控制器112會先判斷第一資料是否包含用以更新目標頁面中所有區段的資料。若是,控制器112則直接將第一資料寫入第二檔案 配區塊之對應頁面中。要注意的是,第二檔案配置區塊之對應頁面與母區塊之目標頁面具有相同的頁面索引。相反地,若是第一資料並未包含用以更新目標頁面中所有區段的資料,控制器112會由母區塊302或第一檔案配置區塊中取出更新目標頁面中不需被第一資料更新之區段的資料(簡稱為第三資料),並將第一資料與第三資料寫入第二檔案配置區塊之對應頁面中。
接著,於步驟S209中,控制器112判斷母區塊302中是否仍有其它頁面需要處理。若仍有其它頁面需要被更新,則回到步驟S201。舉例而言,若主機102要求更新母區塊302中區段S3與S4之資料,則控制器112則會判斷出在頁面PA0被更新之後,還有下一頁面PA1需要被更新,因此會回到步驟S201。相反地,若主機102僅要求更新母區塊302中區段S0、S1、S2及/或S3之資料,則控制器112則會判斷出在頁面PA0被更新之後,已經沒有頁面需要被更新。除此之外,控制器112更會在目前的記憶區塊沒有頁面需要被更新時,將替代頁面與應該被更新的頁面間的映射關係或對應頁面與應該被更新的頁面間的映射關係儲存至第一檔案配置區塊之一頁面映射表中。第4A~4G圖係為本發明中一快閃記憶體之資料更新的管理方法之示意圖。以下配合第3圖與第4A~4G圖說明快閃記憶體之資料更新的管理方法之第一實施例。
假設主機102要求控制器112更新母區塊302中頁面PA1之區段S4,並且傳送用以更新區段S4的資料D4”至 控制器112。換言之,主機102傳送一個含有寫入的起始位址(write LBA)為4並且資料長度為1個區段的指令。控制器112會由備用區130中選擇一個空白的記憶區塊,作為一第一檔案配置區塊402,並取得用以更新頁面PA1中區段S4的資料D4”。由於資料D4”並非用以更新頁面PA1中尾端區段(即區段S7)之資料,故控制器112會由母區塊302中取出頁面PA1之區段S5~S7的資料D5~D7,再將資料D4”與D5~D7分別寫入第一檔案配置區塊402之頁面PB0的區段S0~S3中,如第4A圖中所示。
接著,假設主機102要求控制器112更新母區塊302中頁面PA1之區段S6~S7,並且傳送用以更新區段S6~S7的資料D6”~D7”至控制器112。換言之,主機102傳送一個含有寫入的起始位址(write LBA)為6並且資料長度為2個區段的指令。控制器112會取得用以更新頁面PA1中區段S6~S7的資料D6”~D7”。由於資料D7”為用以更新頁面PA1中尾端區段(即區段S7)之資料,控制器112會由備用區130中選擇另一個空白的記憶區塊,作為一第二檔案配置區塊404。然後,控制器112會由第一檔案配置區塊402之頁面PB0取出區段S4~S5之資料D4”與D5,並且將資料D4”、D5與D6”~D7”分別寫入第二檔案配置區塊404之頁面PC1的區段S4~S7中,如第4B圖中所示。
假設主機102接著要求控制器112更新母區塊302中頁面PA2之區段S8~S9,並且傳送用以更新區段S8~S9的資料D8”~D9”至控制器112。換言之,主機102傳送一個 含有寫入的起始位址(write LBA)為8並且資料長度為2個區段的指令。控制器112會取得用以更新頁面PA1中區段S8~S9的資料D8”~D9”。由於資料D8”~D9”並非用以更新頁面PA2中尾端區段(即區段S11)之資料,故控制器112會由母區塊302中取出頁面PA2之區段S10~S11的資料D10~D11,再將資料D8”~D9”與D10~D11分別寫入第一檔案配置區塊402之頁面PB1的區段S4~S7中,如第4C圖中所示。
接著,假設主機102要求控制器112更新母區塊302中頁面PA2之區段S10~S11,並且傳送用以更新區段S10~S11的資料D10”~D11”至控制器112。換言之,主機102傳送一個含有寫入的起始位址(write LBA)為10並且資料長度為2個區段的指令。控制器112會取得用以更新頁面PA2中區段S10~S11的資料D10”~D11”。由於資料D11”為用以更新頁面PA2中尾端區段(即區段S11)之資料,控制器112會由第一檔案配置區塊402之頁面PB1取出區段S8~S9之資料D8”~D9”,並且將資料D8”~D11”分別寫入第二檔案配置區塊404之頁面PC2的區段S8~S11中,如第4D圖中所示。
假設主機102接著要求控制器112更新母區塊302中頁面PA3之區段S13,並且傳送用以更新區段S13的資料D13”至控制器112。換言之,主機102傳送一個含有寫入的起始位址(write LBA)為13並且資料長度為1個區段的資料。控制器112會取得用以更新頁面PA3中區段S13的資 料D13”。由於資料D13”並非用以更新頁面PA3中尾端區段(即區段S15)之資料,故控制器112會由母區塊302中取出頁面PA3之區段S12與S14~S15的資料D12與D14~D15,再將資料D12、D13”與D14~D15分別寫入第一檔案配置區塊402之頁面PB2的區段S8~S11中,如第4E圖中所示。此時若母區塊302中已沒有頁面需要被更新,控制器112則會將替代頁面PB2與母區塊302中應該被更新的頁面PA3間的映射關係或對應頁面PC1~PC2與母區塊302中應該被更新的頁面PA1~PA2間的映射關係儲存至第一檔案配置區塊402的頁面PB3的一頁面映射表中。
第4F圖係儲存在頁面PB3之頁面映射表之示意圖。頁面PB3具有複數個儲存單元,依序具有索引為P0、P1、P2、P3......PN。儲存單元P0~PN分別對應母區塊302之頁面PA0~PAN,而各儲存單元中所儲存之內容分別指示母區塊302各頁面之最新資料係儲存在母區塊302、第一檔案配置區塊402或第二檔案配置區塊404中,換言之,即利用有次序的儲存單元及其儲存內容說明映射關係,詳細說明如下。當控制器112欲讀取母區塊302的頁面PA0的最新資料時,會先讀取頁面映射表P0所儲存的資料,若控制器112讀取到一第一特定字元(如第4F圖所示之”FF”),則代表母區塊302的頁面PA0的最新資料係儲存在母區塊的頁面PA0中,從而控制器112就會到母區塊的頁面PA0讀取其最新資料。
當控制器112欲讀取母區塊302的頁面PA1的最新資 料時,會先讀取頁面映射表P1所儲存的資料,若控制器112讀取到一第二特定字元(如第4F圖所示之”FE”),則代表母區塊302的頁面PA1的最新資料係儲存在第二檔案配置區塊404的頁面PC1中,從而控制器112就會到第二檔案配置區塊404的頁面PC1讀取其最新資料。
而若當控制器112欲讀取母區塊302的頁面PA3的最新資料時,會先讀取頁面映射表P3所儲存的資料,若控制器112讀取到一特定範圍內(如一區塊中所具有之頁面數0~N)之數值(如第4F圖所示之”2”),則代表母區塊302的頁面PA1的最新資料係儲存在第一檔案配置區塊402的頁面PB2中,從而控制器112就會到第一檔案配置區塊402的頁面PB2讀取其最新資料,依此類推。
當第一檔案配置區塊402已經額滿且無法再寫入新資料時,控制器112會進行一資料整合程序,以便整合母區塊302中的資料、第一檔案配置區塊402中之更新資料以及第二檔案配置區塊404中之更新資料,如第4G圖所示。舉例而言,控制器112會將第一檔案配置區塊402中之更新資料與母區塊中不需被更新的資料寫入第二檔案配置區塊404中。仔細而言,控制器112會依據頁面映射表將母區塊302之頁面PA0中之資料(即不需被更新的資料D0~D3)寫入第二檔案配置區塊404之頁面PC0,並將第一檔案配置區塊PB2中之更新資料寫入第二檔案配置區塊404之頁面PC3。最後將母區塊302之頁面PA4~PAN中不需被更新的資料寫入第二檔案配置區塊404之頁面 PC4~PCN中,以完成資料整合。在完成資料整合之後,控制器112則會對母區塊302與第一檔案配置區塊402中進行抹除,並將抹除後之資料區塊放入備用區130。在某些實施例中,控制器112亦可將母區塊302中不需被更新的資料、第一檔案配置區塊402中之更新資料以及第二檔案配置區塊404中之更新資料整合至一空白的記憶區塊中。
第5A~5D圖係為本發明中一快閃記憶體之資料更新的管理方法之示意圖。以下配合第3圖與第5A~5D圖說明快閃記憶體之資料更新的管理方法之第二實施例。
假設主機102要求控制器112更新母區塊302中頁面PA2~PA33之區段S8~S134,並且傳送用以更新區段S8~S134的資料S8”~S134”至控制器112。換言之,主機102傳送一個含有寫入的起始位址(write LBA)為8並且資料長度為127個區段的指令。控制器112會由備用區130中選擇一個空白的記憶區塊,作為一第三檔案配置區塊502,並取得用以更新頁面PA2中區段S8~S11的資料(即D8”~D11”)。由於此資料中含有用以更新頁面PA2中尾端區段(即區段S11)之資料D11”,故控制器112會由備用區130中選擇另一個空白的記憶區塊,作為一第四檔案配置區塊504。然後,控制器112會將用以更新頁面PA2中區段S8~S11的資料(即D8”~D11”)分別寫入第四檔案配置區塊504之頁面PD2之區段S8~S11中。
接著,控制器112會取得用以更新下一頁面(即PA3)中區段S12~S15的資料(即D12”~D15”)。由於此資料中含 有用以更新頁面PA3中尾端區段(即區段S15)之資料D15”,控制器112會將用以更新頁面PA3中區段S12~S15的資料(即D12”~D15”)分別寫入第四檔案配置區塊504之頁面PD3之區段S12~S15中,依此類推,如第5A圖中所示。當控制器112取得用以更新頁面PA33中區段S132~S134的資料(即D132”~D134”)。由於此資料中不含用以更新頁面PA33中尾端區段(即區段S135)之資料,控制器112會由母區塊302中取出頁面PA33之區段S135的資料D135,再將資料D132”~D134”與D135分別寫入第三檔案配置區塊502之頁面PE0的區段S0~S3中,如第5B圖中所示。
假設主機102接著要求控制器112更新母區塊302中頁面PA33~PA65之區段S135~S261,並且傳送用以更新區段S135~S261的資料D135”~D261”至控制器112。換言之,主機102傳送一個含有寫入的起始位址(write LBA)為135並且資料長度為127個區段的指令。由於此資料中含有用以更新頁面PA33中尾端區段(即區段S135)之資料D135”,控制器112會由第三檔案配置區塊502之頁面PE0中取得頁面PA33中區段S132~S134之資料D132”~D134”,並將資料D132”~D135”分別寫入第四檔案配置區塊504之頁面PD33的區段S132~S135中。
接著,控制器112會取得用以更新下一頁面(即PA34)中區段S136~S139的資料(即D136”~D139”)。由於此資料中含有用以更新頁面PA34中尾端區段(即區段S139)之資 料D139”,故控制器112會將用以更新頁面PD34中區段S136~S139的資料(即D136”~D139”)分別寫入第四檔案配置區塊504之頁面PD34之區段S136~S139中,依此類推,如第5C圖中所示。當控制器112取得用以更新頁面PD65中區段S260~S261的資料(即D260”~D261”)。由於此資料中不含用以更新頁面PD65中尾端區段(即區段S263)之資料,故控制器112會由母區塊302中取出頁面PA65之區段S262~S263的資料D262~D263,再將資料D260”~D261”與D262~D263分別寫入第三檔案配置區塊502之頁面PE1的區段S4~S7中,如第5D圖中所示。
此時若母區塊302沒有頁面需要被更新時,控制器則會將替代頁面PD2~PD64與被更新的頁面PA2~PA64間的映射關係及/或對應頁面PE1與被更新的頁面PA65間的映射關係儲存至一頁面映射表(如第5D圖之PE2)中,此頁面映射表之一實施例係類似於第4F圖之頁面映射表。當第三檔案配置區塊502已經額滿且無法再寫入新資料時,控制器112會進行資料整合程序,以便整合母區塊302中的資料、第三檔案配置區塊502中之更新資料以及第四檔案配置區塊504中之更新資料。在完成資料整合之後,控制器112則會對母區塊302與第三檔案配置區塊502中進行抹除,並將抹除後之資料區塊放入備用區130。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟知技藝者,在不脫離本發明之精神和範圍內,當可作些許更動與潤飾,因此本發明之保護範圍 當視後附之申請專利範圍所界定者為準。
100‧‧‧電子系統
102‧‧‧主機
104‧‧‧記憶卡
112‧‧‧控制器
114‧‧‧快閃記憶體
120‧‧‧資料區
130‧‧‧備用區
302‧‧‧母區塊
122~128、132~134‧‧‧憶記區塊
PA0~PAN、PB0~PBN、PC0~PCN、PD0~PDN、PE0~PEN‧‧‧頁面
S1~S135‧‧‧區段
D1~D135、D1”~D135”‧‧‧資料
402‧‧‧第一檔案配置區塊
404‧‧‧第二檔案配置區塊
502‧‧‧第三檔案配置區塊
504‧‧‧第四檔案配置區塊
第1圖係為本發明之電子系統之一示意圖。
第2圖係為本發明中快閃記憶體之更新資料的管理方法流程圖。
第3圖係本發明之快閃記憶體中一母區塊之一示意圖。
第4A~4G圖係為本發明中一快閃記憶體中第一、第二檔案配置區塊之示意圖。
第5A~5D圖係為本發明中一快閃記憶體中第一、第二檔案配置區塊之示意圖。
S201‧‧‧取得用以更新一目標頁面中之該區段的資料(簡稱為第一資料)
S203‧‧‧判斷第一資料是否含有用以更新目標頁面中尾端區段之資料
S205‧‧‧將第一資料寫入第一檔案配置區塊中一替代頁面中
S207‧‧‧第一資料寫入一第二檔案配置區塊中一對應頁面中
S209‧‧‧判斷母區塊中是否仍有其它頁面需要處理

Claims (22)

  1. 一種快閃記憶體之更新資料的管理方法,其中上述快閃記憶體包括一母區塊,上述母區塊具有複數欲更新之頁面,每一頁面包括複數區段,上述管理方法包括:取得用以更新上述母區塊中一目標頁面之一第一資料;判斷上述第一資料是否包含用以更新上述目標頁面中一尾端區段之資料;於上述第一資料不包含用以更新上述目標頁面中上述尾端區段之資料時,將上述第一資料寫入一第一檔案配置區塊之一替代頁面中;以及於上述第一資料含有用以更新上述目標頁面中上述尾端區段之資料時,將上述第一資料寫入一第二檔案配置區塊之一對應頁面中,其中上述第二檔案配置區塊中之上述對應頁面與上述母區塊中之上述目標頁面具有相同的頁面索引。
  2. 如申請專利範圍第1項所述之快閃記憶體之更新資料的管理方法,其中上述第一、第二檔案配置區塊係擇自於上述快閃記憶體中之一備用區。
  3. 如申請專利範圍第1項所述之快閃記憶體之更新資料的管理方法,其中上述尾端區段係為上述目標頁面中位於最後之一區段。
  4. 如申請專利範圍第1項所述之快閃記憶體之更新資料的管理方法,其中將上述第一資料寫入上述第一檔案配 置區塊之上述替代頁面的步驟包括:由上述母區塊中取得一第二資料,其中上述第二資料用以更新上述目標頁面中不被上述第一資料所更新的區段;以及將上述第一、第二資料寫入上述第一檔案配置區塊之上述替代頁面中。
  5. 如申請專利範圍第1項所述之快閃記憶體之更新資料的管理方法,其中將上述第一資料寫入上述第二檔案配置區塊之上述對應頁面的步驟包括:於上述第一資料包含用以更新上述目標頁面中所有區段的資料時,將上述第一資料寫入上述第二檔案配置區塊之上述對應頁面中。
  6. 如申請專利範圍第1項所述之快閃記憶體之更新資料的管理方法,其中將上述第一資料寫入上述第二檔案配置區塊之上述對應頁面的步驟包括:於上述第一資料不含用以更新上述目標頁面中所有區段的資料時,由上述母區塊或上述第一檔案配置區塊中取得一第三資料,其中上述第三資料用以更新上述目標頁面中不被上述第一資料所更新的區段;以及將上述第一、第三資料寫入上述第二檔案配置區塊之上述對應頁面中。
  7. 如申請專利範圍第1項所述之快閃記憶體之更新資料的管理方法,更包括:記錄上述目標頁面與上述替代頁面間之映射關係或上 述目標頁面與上述對應頁面間之映射關係至上述第一檔案配置區塊中之一頁面映射表。
  8. 如申請專利範圍第7項所述之快閃記憶體之更新資料的管理方法,上述記錄步驟包括:至少將上述替代頁面之頁面索引紀錄於上述頁面映射表中相應的位置,作為上述頁面映射表之上述映射關係;以及將上述頁面映射表寫入上述第一檔案配置區塊中之一頁。
  9. 如申請專利範圍第7項所述之快閃記憶體之更新資料的管理方法,更包括:根據上述頁面映射表,將儲存於上述母區塊中之資料以及上述第一檔案配置區塊中上述替代頁面中所儲存之資料整合至上述第二檔案配置區塊中。
  10. 如申請專利範圍第7項所述之快閃記憶體之更新資料的管理方法,更包括:根據上述頁面映射表,將儲存於上述母區塊中之資料、上述第一檔案配置區塊中上述替代頁面中所儲存之資料以及上述第二檔案配置區塊之上述對應頁面中之資料整合至一空白記憶區塊中。
  11. 如申請專利範圍第9項所述之快閃記憶體之更新資料的管理方法,更包括:於上述母區塊中之資料以及上述第一檔案配置區塊中上述替代頁面中所儲存之資料整合至上述第二檔案配置區 塊後,對上述母區塊以及上述第一檔案配置區塊進行抹除。
  12. 一種記憶卡,包括:一快閃記憶體,包括一母區塊、一第一檔案配置區塊以及一第二檔案配置區塊,其中上述母區塊包括複數欲更新之頁面,每一頁面包括複數區段;以及一控制器,取得用以更新上述母區塊中一目標頁面之一第一資料,於上述第一資料不包含用以更新上述目標頁面中一尾端區段的資料時,將上述第一資料寫入一第一檔案配置區塊之一替代頁面中,以及於上述第一資料含有用以更新上述尾端區段之資料時,將上述第一資料寫入一第二檔案配置區塊之一對應頁面中,其中上述第二檔案配置區塊中之上述對應頁面與上述母區塊中之上述目標頁面具有相同的頁面索引。
  13. 如申請專利範圍第12項所述之記憶卡,其中上述第一、第二檔案配置區塊係擇自於上述快閃記憶體中之一備用區。
  14. 如申請專利範圍第12項所述之記憶卡,其中上述尾段區段係為上述目標頁面中位於最後之一區段。
  15. 如申請專利範圍第12項所述之記憶卡,其中於上述第一資料不包含用以根據上述尾端區段的資料時,上述控制器係由上述母區塊中取得一第二資料,其中上述第二資料用以更新上述目標頁面中不被上述第一資料所更新的區段,並將上述第一、第二資料寫入上述第一檔案配置區塊之上述替代頁面中。
  16. 如申請專利範圍第12項所述之記憶卡,其中於上述第一資料包含用以更新上述目標頁面中所有區段的資料時,將上述第一資料寫入上述第二檔案配置區塊之上述對應頁面中。
  17. 如申請專利範圍第12項所述之記憶卡,其中於上述第一資料不包含用以更新上述目標頁面中所有區段的資料時,上述控制器係由上述母區塊或上述第一檔案配置區塊中取得一第三資料,其中上述第三資料用以更新上述目標頁面中不被上述第一資料所更新的區段,並且上述控級器會將上述第一、第三資料寫入上述第二檔案配置區塊之上述對應頁面中。
  18. 如申請專利範圍第12項所述之記憶卡,其中上述控制器更記錄上述目標頁面與上述替代頁面間之映射關係或上述目標頁面與上述對應頁面間之映射關係至上述第一檔案配置區塊之一頁面映射表中。
  19. 如申請專利範圍第18項所述之記憶卡,其中上述控制器係至少將上述替代頁面之頁面索引紀錄於上述頁面映射表中相應的位置,作為上述頁面映射表之上述映射關係,並將上述頁面映射表寫入上述第一檔案配置區塊中之一頁。
  20. 如申請專利範圍第18項所述之記憶卡,其中上述控制器更根據上述頁面映射表,將儲存於上述母區塊中之資料以及上述第一檔案配置區塊中上述替代頁面中所儲存之資料整合至上述第二檔案配置區塊中。
  21. 如申請專利範圍第18項所述之記憶卡,其中上述控制器根據上述頁面映射表,將儲存於上述母區塊中之資料、上述第一檔案配置區塊中上述替代頁面中所儲存之資料以及上述第二檔案配置區塊之上述對應頁面中之資料整合至一空白記憶區塊中。
  22. 如申請專利範圍第20項所述之記憶卡,其中上述控制器更於上述母區塊中之資料以及上述第一檔案配置區塊中上述替代頁面中所儲存之資料整合至上述第二檔案配置區塊後,對上述母區塊以及上述第一檔案配置區塊進行抹除
TW097138157A 2008-10-03 2008-10-03 快閃記憶體之更新資料的管理方法以及相關之記憶卡 TWI386800B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW097138157A TWI386800B (zh) 2008-10-03 2008-10-03 快閃記憶體之更新資料的管理方法以及相關之記憶卡
US12/404,335 US8176231B2 (en) 2008-10-03 2009-03-15 Methods for handling data updating of flash memory and related memory cards

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW097138157A TWI386800B (zh) 2008-10-03 2008-10-03 快閃記憶體之更新資料的管理方法以及相關之記憶卡

Publications (2)

Publication Number Publication Date
TW201015313A TW201015313A (en) 2010-04-16
TWI386800B true TWI386800B (zh) 2013-02-21

Family

ID=42076704

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097138157A TWI386800B (zh) 2008-10-03 2008-10-03 快閃記憶體之更新資料的管理方法以及相關之記憶卡

Country Status (2)

Country Link
US (1) US8176231B2 (zh)
TW (1) TWI386800B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI508068B (zh) * 2012-07-25 2015-11-11 Silicon Motion Inc 管理快閃記憶體中所儲存之資料的方法,及相關的記憶裝置與控制器
US9811414B2 (en) 2012-07-25 2017-11-07 Silicon Motion Inc. Method for managing data stored in flash memory and associated memory device and controller

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI396090B (zh) * 2009-02-18 2013-05-11 Silicon Motion Inc 快閃記憶裝置、資料儲存系統、以及傳送特殊命令至快閃記憶裝置之方法
TWI514136B (zh) * 2010-12-28 2015-12-21 Silicon Motion Inc 快閃記憶裝置及其資料寫入方法
CN103257928B (zh) * 2013-04-16 2016-01-13 深圳市江波龙电子有限公司 闪存设备数据管理方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5603001A (en) * 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
US7039788B1 (en) * 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
TW200828320A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Method for performing static wear leveling on flash memory

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000227871A (ja) * 1999-02-05 2000-08-15 Seiko Epson Corp 不揮発性記憶装置、その制御方法、および、情報記録媒体
US7427027B2 (en) * 2004-07-28 2008-09-23 Sandisk Corporation Optimized non-volatile storage systems
KR100826654B1 (ko) * 2007-04-24 2008-05-06 주식회사 하이닉스반도체 플래시 메모리소자의 동작방법 및 이를 위한 제어회로
US8195870B2 (en) * 2007-11-29 2012-06-05 Silicon Motion, Inc. Memory card and method for handling data updating of a flash memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5603001A (en) * 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
US7039788B1 (en) * 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
TW200828320A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Method for performing static wear leveling on flash memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI508068B (zh) * 2012-07-25 2015-11-11 Silicon Motion Inc 管理快閃記憶體中所儲存之資料的方法,及相關的記憶裝置與控制器
US9811414B2 (en) 2012-07-25 2017-11-07 Silicon Motion Inc. Method for managing data stored in flash memory and associated memory device and controller
US10324786B2 (en) 2012-07-25 2019-06-18 Silicon Motion Inc. Method for managing data stored in flash memory and associated memory device and controller

Also Published As

Publication number Publication date
US8176231B2 (en) 2012-05-08
TW201015313A (en) 2010-04-16
US20100088462A1 (en) 2010-04-08

Similar Documents

Publication Publication Date Title
US9842030B2 (en) Data storage device and flash memory control method
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
US8230160B2 (en) Flash memory storage system and flash memory controller and data processing method thereof
US8108589B2 (en) Wear leveling method and controller using the same
US8407397B2 (en) Block management method for flash memory and controller and storage system using the same
US8046526B2 (en) Wear leveling method and controller using the same
CN103425597B (zh) 数据储存装置和快闪存储器的区块管理方法
US8312554B2 (en) Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus
US8296502B2 (en) Data management method for flash memory and storage system and controller using the same
US20090300082A1 (en) Method for memory space management
JP4373943B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
KR20080025178A (ko) 저장 장치에서 파티션들을 관리하기 위한 방법 및 시스템
US9268688B2 (en) Data management method, memory controller and memory storage apparatus
TWI386800B (zh) 快閃記憶體之更新資料的管理方法以及相關之記憶卡
US9389998B2 (en) Memory formatting method, memory controller, and memory storage apparatus
JP5093294B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US9009442B2 (en) Data writing method, memory controller and memory storage apparatus
US8195870B2 (en) Memory card and method for handling data updating of a flash memory
US8380920B2 (en) Flash storage device and data access method of flash memory
TWI450271B (zh) 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
JP2007505415A (ja) フラッシュメモリにおける削除されたブロックの管理
US8762685B2 (en) Data writing method, memory controller and memory storage apparatus
CN105224238A (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
JP4235646B2 (ja) メモリコントローラおよびフラッシュメモリシステム
JP2009259145A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法