TWI386803B - 快閃記憶卡及快閃記憶體預防資料毀損的方法 - Google Patents

快閃記憶卡及快閃記憶體預防資料毀損的方法 Download PDF

Info

Publication number
TWI386803B
TWI386803B TW97141754A TW97141754A TWI386803B TW I386803 B TWI386803 B TW I386803B TW 97141754 A TW97141754 A TW 97141754A TW 97141754 A TW97141754 A TW 97141754A TW I386803 B TWI386803 B TW I386803B
Authority
TW
Taiwan
Prior art keywords
page
data
flash memory
strong
block
Prior art date
Application number
TW97141754A
Other languages
English (en)
Other versions
TW201003399A (en
Inventor
Wei Yi Hsiao
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 US12/400,149 priority Critical patent/US8074012B2/en
Publication of TW201003399A publication Critical patent/TW201003399A/zh
Application granted granted Critical
Publication of TWI386803B publication Critical patent/TWI386803B/zh

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

快閃記憶卡及快閃記憶體預防資料毀損的方法
本發明係有關於記憶卡,特別是有關於快閃記憶卡。
目前許多的電子裝置如數位像機與手機皆使用快閃記憶體以儲存資料。一NAND型快閃記憶體包括多個區塊(block),每一區塊又包含多個分頁(page)。該多個分頁又可區分為強分頁(strong page)與弱分頁(weak page)。所謂強分頁,係指該分頁被寫入資料時的編程忙碌時間(program busy time)較短。反之,所謂弱分頁,係指該分頁被寫入資料時所需的編程忙碌時間較長。
第1圖顯示一NAND型快閃記憶體之一區塊100所包含的複數分頁示意圖。區塊100包括多個分頁。於分頁0~分頁9中,可見分頁0、1、2、3、6、7為強分頁,而分頁4、5、8、9為弱分頁。此外,每一強分頁有一與其相對應的弱分頁,每一弱分頁有一與其相對應的強分頁。例如,強分頁0與弱分頁4相對應,強分頁2與弱分頁8相對應,弱分頁9與強分頁3相對應。因此一區塊又包含多個分頁呈兩兩對應之關係。
有對應關係的強分頁與弱分頁受編程寫入資料時會相互影響。由於強分頁所需的編程忙碌時間較短,當強分頁受編程時發生錯誤,例如斷電時,與該強分頁對應的弱分 頁通常不會受影響。反之,由於弱分頁所需的編程忙碌時間較長,當弱分頁受編程時發生錯誤時,與該弱分頁對應的強分頁所儲存的資料很可能被連帶影響以致發生資料損壞。因此,需要有一種方法,能在上述資料損毀情況發生時回復資料,以保證資料的完整性。
有鑑於此,本發明之目的在於提供一種快閃記憶體預防資料毀損的方法,以解決習知技術存在之問題。首先,當一控制器完成寫入一筆資料至一快閃記憶體之一第一區塊的多個分頁時,找出該等多個分頁中的一最後弱分頁(weak page)。接著,找出與該最後弱分頁相對應之一第一強分頁(strong page)。接著,決定介於該第一強分頁與該最後弱分頁之間的多個強分頁。接著,複製該多個強分頁之資料至該快閃記憶體之一備份資料儲存區,以供資料毀損時回復資料之用。
本發明更提供一種快閃記憶卡,可預防資料毀損。於一實施例中,該快閃記憶卡包括一快閃記憶體以及一控制器。當完成寫入一筆資料至該快閃記憶體之一第一區塊的多個分頁時,該控制器找出該等多個分頁中的一最後弱分頁(weak page),找出與該最後弱分頁相對應之一第一強分頁(strong page),決定介於該第一強分頁與該最後弱分頁之間的多個強分頁,以及複製該多個強分頁之資料至該快閃記憶體之一備份資料儲存區,以供資料毀損時回復資料之 用。
為了讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉數較佳實施例,並配合所附圖示,作詳細說明如下:
第2圖係依據本發明之快閃記憶卡204的區塊圖。於一實施例中,快閃記憶卡204包括一控制器206及一快閃記憶體208。快閃記憶體208包含多個區塊(block),每個區塊包含多個分頁(page),以儲存資料。於一實施例中,該快閃記憶體208為一NAND型快閃記憶體。控制器206連接至主機202,依據主機202的指示存取快閃記憶體208,例如將主機202所傳遞的資料寫入快閃記憶體208,或自快閃記憶體208讀取資料以回傳至主機202。於一實施例中,控制器206與快閃記憶體208間耦接傳送命令之一命令線CMD,以及傳送資料之多個資料線D0、D1、…、Dn。
第3圖為依據本發明之備份快閃記憶體資料之方法300之流程圖。每當控制器206寫入一筆資料至快閃記憶體208(步驟302),便檢測是否該筆資料寫入完畢(步驟304)。於一實施例中,當控制器206接收主機202所發送的一0x24寫入命令,以寫入該筆資料至快閃記憶體208,便可藉偵測是否控制器206與快閃記憶體208間之資料線D0之電位自忙碌(busy)狀態回復為待命(ready)狀態,以得知資料寫入完畢的時間點。於另一實施例中,控制器206 接收主機202所發送的一0x25寫入命令,以寫入該筆資料至快閃記憶體208,而可藉偵測是否控制器206接收主機202所發送的一0x12結束命令,亦可得知資料寫入完畢的時間點。資料寫入完畢的時間點係根據不同的主機介面而定,上述實施例係以SD卡為例,但不以上述實施例為限。
第4A圖為本發明之快閃記憶體208所儲存之區塊400的一實施例的示意圖。假設控制器206係將該筆資料寫入快閃記憶體208的區塊400之多個分頁0~4,如範圍410所示。控制器206此時由該多個分頁0~4中搜尋具有最後序位的一最後弱分頁。若該等多個分頁0~4中之最後分頁4為一弱分頁(步驟306),則控制器206決定該最後分頁4為該最後弱分頁。接著,控制器206找出該最後弱分頁4所對應的一第一強分頁0(步驟314),並進而決定介於最後弱分頁4及第一強分頁0之間的多個強分頁1、2、3(步驟316)。接著,控制器206複製該多個強分頁1、2、3之資料至快閃記憶體208之一備份資料儲存區,以供資料毀損時回復資料之用(步驟312)。第4B圖為對應第4A圖之備份資料儲存區450所儲存之資料的示意圖。如圖所示,備份資料儲存區450儲存了強分頁1、2、3之資料。
假設控制器206有下一筆資料待寫入(步驟318),並寫入第二筆資料至快閃記憶體208之區塊400(步驟302),如第5A圖之範圍510所包含的分頁5~10所示。當第二筆資料510寫入完畢(步驟304),控制器206便由該多個分頁5~10中搜尋具有最後序位的一最後弱分頁。若該等多個分 頁5~10中之最後分頁10為一強分頁(步驟306),則控制器206以該最後分頁10之前的一弱分頁9為最後弱分頁(步驟308),並找出該最後弱分頁9所對應的一第一強分頁3(步驟308)。接著,控制器206進而決定介於最後弱分頁9及第一強分頁3之間的多個強分頁6、7(步驟310)。接著,控制器206複製該多個強分頁6、7之資料至快閃記憶體208之一備份資料儲存區,以供資料毀損時回復資料之用(步驟312)。第5B圖為對應第5A圖之備份資料儲存區450所儲存之資料的示意圖。如圖所示,除了前次儲存的強分頁1、2、3之資料以外,備份資料儲存區450更儲存了強分頁6、7之資料。
第6圖為依據本發明之回復快閃記憶體資料毀損之方法600之流程圖。首先,控制器206寫入資料至快閃記憶體208之一區塊(步驟602)。每當控制器206寫入資料時,便偵測資料寫入過程是否發生錯誤(步驟604),例如在寫入資料時發生斷電。以第5A圖為例,假設當控制器206寫入第三筆資料至快閃記憶體208之區塊400,且於寫入資料至分頁13時發生斷電而產生寫入錯誤。此時,由於分頁13為一弱分頁,與其相對應的強分頁7所儲存之資料有很大之機率連帶發生資料損毀。
控制器206首先決定區塊400發生寫入錯誤之一第一分頁13(步驟606)。若該第一分頁為一強分頁,其對應之弱分頁並不會發生資料損毀之情形。此時,因該第一分頁13為一弱分頁(步驟608),控制器206決定第一分頁13對 應之一第一強分頁7(步驟610)。接著,控制器206搜尋第5B圖之備份資料儲存區450以得到該第一強分頁7之資料(步驟512)。接著,控制器206便可依據該第一強分頁7之備份資料回復發生資料損毀之第一強分頁之資料。
於一實施例中,控制器206取得一空白區塊,並依序複製區塊400之資料及步驟612搜尋所得之第一強分頁7之資料至該空白區塊(步驟614)。接著,控制器206以該空白區塊取代區塊400(步驟616)。於一實施例中,控制器206將區塊400之邏輯區塊位址對應至已儲存有回復所得資料的空白區塊之實體區塊位址,以便取代區塊400。最後,控制器206清除資料損毀之區塊400。
本發明於每筆資料寫入完畢後便預先備份可能發生資料毀損之強分頁的資料至一備份資料儲存區。當資料毀損一旦發生,便可由被份資料儲存區取得發生毀損的強分頁之原始資料,並進而回復毀損之資料區塊。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此項技術者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100、400‧‧‧記憶體區塊
CMD‧‧‧命令線
D0、D1、…、Dn‧‧‧資料線
202‧‧‧主機
204‧‧‧快閃記憶卡
206‧‧‧控制器
208‧‧‧快閃記憶體
410、510‧‧‧範圍
450‧‧‧備份資料儲存區
第1圖為一NAND型快閃記憶體之一區塊所包含的複數分頁示意圖;第2圖係依據本發明之快閃記憶卡的區塊圖; 第3圖為依據本發明之備份快閃記憶體資料之方法之流程圖;第4A圖為本發明之快閃記憶體所儲存之區塊的一實施例的示意圖;第4B圖為對應第4A圖之備份資料儲存區所儲存之資料的示意圖;第5A圖為本發明之快閃記憶體所儲存之區塊的另一實施例的示意圖;第5B圖為對應第5A圖之備份資料儲存區所儲存之資料的示意圖;以及第6圖為依據本發明之回復快閃記憶體資料毀損之方法之流程圖。

Claims (16)

  1. 一種快閃記憶體預防資料毀損的方法,包括下列步驟:當一控制器完成寫入一第一筆資料至一快閃記憶體之一第一區塊的多個分頁PJ ~PJ+X 時,找出該等多個分頁中的一最後弱分頁(weak page),其中J與X為大於零之整數;找出與該最後弱分頁相對應之一第一強分頁(strong Page);決定介於該第一強分頁與該最後弱分頁之間的多個強分頁;以及複製該多個強分頁之資料至該快閃記憶體之一備份資料儲存區,以供資料毀損時回復資料之用;其中該第一區塊之每一分頁可為弱分頁或強分頁,而每一弱分頁有一與其相對應的強分頁,有對應關係的該強分頁與該弱分頁受編程寫入資料時會相互影響;其中該強分頁需要較短的編程時間,而該弱分頁需要較長的編程時間;其中該強分頁會比有對應關係的該弱分頁更早被寫入資料。
  2. 如申請專利範圍第1項所述之快閃記憶體預防資料毀損的方法,其中找出該最後弱分頁之步驟包括:找出該等多個分頁中的一最後分頁PJ+X ;若該最後分頁PJ+X 為弱分頁,則決定該最後分頁PJ+X 為該最後弱分頁;以及若該最後分頁PJ+X 為強分頁,則決定該最後分頁PJ+X 之前的一弱分頁為該最後弱分頁。
  3. 如申請專利範圍第1項所述之快閃記憶體預防資料毀損的方法,其中當該控制器接收一0x24寫入命令以寫入該筆資料至該快閃記憶體,而該筆資料之寫入的完成係偵測是否該控制器與該快閃記憶體之一資料線之電位自一忙碌(busy)狀態回復為一待命(ready)狀態。
  4. 如申請專利範圍第1項所述之快閃記憶體預防資料毀損的方法,其中當該控制器接收一0x25寫入命令以寫入該筆資料至該快閃記憶體,而該筆資料之寫入的完成係偵測是否該控制器接收一0x12結束命令。
  5. 如申請專利範圍第1項所述之快閃記憶體預防資料毀損的方法,其中該方法更包括:當該控制器將一第二筆資料寫入至該快閃記憶體之該第一區塊之一第二分頁PJ+X+Y 的過程發生錯誤時,檢查是否該第二分頁PJ+X+Y 為一弱分頁,其中Y為大於零之整數;若該第二分頁為一弱分頁,找出與該第二分頁相對應之第二強分頁;搜尋該備份資料儲存區,以得到該第二強分頁之備份資料;以及依據該第二強分頁之備份資料回復該第二強分頁之資料;其中該第二強分頁係為該第一筆資料所儲存的該等分頁PJ ~PJ+X 中之一者。
  6. 如申請專利範圍第5項所述之快閃記憶體預防資料 毀損的方法,其中該第二強分頁之資料之回復步驟包括:取得一空白之第二區塊;將該第一區塊之資料及自該備份資料儲存區所得到的該第二強分頁之備份資料寫入該第二區塊;以該第二區塊取代該第一區塊;以及清除該第一區塊;其中該第一區塊寫入該第二區塊之資料不包括該第二強分頁及該第二分頁。
  7. 如申請專利範圍第6項所述之快閃記憶體預防資料毀損的方法,其中以該第二區塊取代該第一區塊之步驟包括將該第一區塊之邏輯區塊位址對應至該第二區塊之實體區塊位址。
  8. 如申請專利範圍第1項所述之快閃記憶體預防資料毀損的方法,其中該快閃記憶體為一NAND型快閃記憶體。
  9. 一種快閃記憶卡,可預防資料毀損,包括:一快閃記憶體;以及一控制器,當完成寫入一第一筆資料至該快閃記憶體之一第一區塊的多個分頁PJ ~PJ+X 時,找出該等多個分頁中的一最後弱分頁(weak page),其中J與X為大於零之整數,找出與該最後弱分頁相對應之一第一強分頁(strong page),決定介於該第一強分頁與該最後弱分頁之間的多個強分頁,以及複製該多個強分頁之資料至該快閃記憶體之一備份資料儲存區,以供資料毀損時回復資料之用其中該第一區塊之每一分頁可為弱分頁或強分頁,而每一弱分頁 有一與其相對應的強分頁,有對應關係的該強分頁與該弱分頁受編程寫入資料時會相互影響,該強分頁需要較短的編程時間,而該弱分頁需要較長的編程時間,該強分頁會比有對應關係的該弱分頁更早被寫入資料。
  10. 如申請專利範圍第9項所述之快閃記憶卡,其中該控制器先找出該等多個分頁中的一最後分頁PJ+X ,若該最後分頁PJ+X 為弱分頁則決定該最後分頁PJ+X 為該最後弱分頁,若該最後分頁PJ+X 為強分頁則決定該最後分頁PJ+X 之前的一弱分頁為該最後弱分頁,以達成找出該最後弱分頁。
  11. 如申請專利範圍第9項所述之快閃記憶卡,其中當該控制器接收一0x24寫入命令以寫入該筆資料至該快閃記憶體,而該筆資料之寫入的完成係偵測是否該控制器與該快閃記憶體之一資料線之電位自一忙碌(busy)狀態回復為一待命(ready)狀態。
  12. 如申請專利範圍第9項所述之快閃記憶卡,其中當該控制器接收一0x25寫入命令以寫入該筆資料至該快閃記憶體,而該筆資料之寫入的完成係偵測是否該控制器接收一0x12結束命令。
  13. 如申請專利範圍第9項所述之快閃記憶卡,其中當該控制器將一第二筆資料寫入至該快閃記憶體之該第一區塊之一第二分頁PJ+X+Y 的過程發生錯誤時,該控制器檢查是否該第二分頁PJ+X+Y 為一弱分頁,其中Y為大於零之整數,若該第二分頁為一弱分頁,則該控制器找出與該第 二分頁相對應之第二強分頁,搜尋該備份資料儲存區以得到該第二強分頁之備份資料,並依據該第二強分頁之備份資料回復該第二強分頁之資料,其中該第二強分頁係為該第一筆資料所儲存的該等分頁PJ ~PJ+X 中之一者。
  14. 如申請專利範圍第13項所述之快閃記憶卡,其中該控制器首先取得一空白之第二區塊,將該第一區塊之資料及自該備份資料儲存區所得到的該第二強分頁之備份資料寫入該第二區塊,以該第二區塊取代該第一區塊,接著清除該第一區塊,以達成回復該第二強分頁之資料,其中該第一區塊寫入該第二區塊之資料不包括該第二強分頁及該第二分頁。
  15. 如申請專利範圍第14項所述之快閃記憶卡,其中該控制器將該第一區塊之邏輯區塊位址對應至該第二區塊之實體區塊位址,以達成將該第二區塊取代該第一區塊。
  16. 如申請專利範圍第9項所述之快閃記憶卡,其中該快閃記憶體為一NAND型快閃記憶體。
TW97141754A 2008-07-02 2008-10-30 快閃記憶卡及快閃記憶體預防資料毀損的方法 TWI386803B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/400,149 US8074012B2 (en) 2008-07-02 2009-03-09 Flash memory apparatus and method for securing a flash memory from data damage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US7754908P 2008-07-02 2008-07-02

Publications (2)

Publication Number Publication Date
TW201003399A TW201003399A (en) 2010-01-16
TWI386803B true TWI386803B (zh) 2013-02-21

Family

ID=41513822

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97141754A TWI386803B (zh) 2008-07-02 2008-10-30 快閃記憶卡及快閃記憶體預防資料毀損的方法

Country Status (2)

Country Link
CN (1) CN101620575B (zh)
TW (1) TWI386803B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI438632B (zh) 2011-04-14 2014-05-21 Mstar Semiconductor Inc 記憶體之控制方法及控制器
US9384125B2 (en) * 2012-06-18 2016-07-05 Silicon Motion Inc. Method for accessing flash memory having pages used for data backup and associated memory device
TWI492052B (zh) * 2012-06-18 2015-07-11 Silicon Motion Inc 存取快閃記憶體的方法以及相關的記憶裝置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW484064B (en) * 1999-07-12 2002-04-21 Feiya Technology Corp Flash memory management, data linking architecture and algorithm
TWI240862B (en) * 2003-04-22 2005-10-01 Mobitek Comm Corp File system managing-method of flash memory and its logic framework
TWI241590B (en) * 2000-12-28 2005-10-11 Sandisk Corp Novel method and structure for efficient data verification operation for non-volatile memories
US20070086244A1 (en) * 2005-10-17 2007-04-19 Msystems Ltd. Data restoration in case of page-programming failure
US7275140B2 (en) * 2005-05-12 2007-09-25 Sandisk Il Ltd. Flash memory management method that is resistant to data corruption by power loss
JP2008033801A (ja) * 2006-07-31 2008-02-14 Victor Co Of Japan Ltd メモリデータ管理装置
JP2008146253A (ja) * 2006-12-07 2008-06-26 Sony Corp 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1936866A (zh) * 2006-08-18 2007-03-28 福昭科技(深圳)有限公司 具有资料还原功能的闪存记忆体存储机制
CN100555246C (zh) * 2007-09-24 2009-10-28 中兴通讯股份有限公司 一种在闪存上存取数据的系统及方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW484064B (en) * 1999-07-12 2002-04-21 Feiya Technology Corp Flash memory management, data linking architecture and algorithm
TWI241590B (en) * 2000-12-28 2005-10-11 Sandisk Corp Novel method and structure for efficient data verification operation for non-volatile memories
TWI240862B (en) * 2003-04-22 2005-10-01 Mobitek Comm Corp File system managing-method of flash memory and its logic framework
US7275140B2 (en) * 2005-05-12 2007-09-25 Sandisk Il Ltd. Flash memory management method that is resistant to data corruption by power loss
US20070086244A1 (en) * 2005-10-17 2007-04-19 Msystems Ltd. Data restoration in case of page-programming failure
JP2008033801A (ja) * 2006-07-31 2008-02-14 Victor Co Of Japan Ltd メモリデータ管理装置
JP2008146253A (ja) * 2006-12-07 2008-06-26 Sony Corp 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法

Also Published As

Publication number Publication date
CN101620575B (zh) 2011-07-27
CN101620575A (zh) 2010-01-06
TW201003399A (en) 2010-01-16

Similar Documents

Publication Publication Date Title
US8006030B2 (en) Memory controller for identifying the last valid page/segment in a physical block of a flash memory
TWI444825B (zh) 記憶體儲存裝置、記憶體控制器與資料寫入方法
US8046528B2 (en) Data writing method for flash memory, and flash memory controller and storage device thereof
US8762661B2 (en) System and method of managing metadata
US8453021B2 (en) Wear leveling in solid-state device
TWI645404B (zh) 資料儲存裝置以及非揮發式記憶體操作方法
US20070170268A1 (en) Memory cards, nonvolatile memories and methods for copy-back operations thereof
US20230016555A1 (en) Data recovery method, apparatus, and solid state drive
TWI443513B (zh) 記憶體儲存裝置、記憶體控制器與資料寫入方法
US11157357B2 (en) Operation methods of memory system and host, and computing system
US20030093610A1 (en) Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof
TWI498899B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US10866751B2 (en) Method for managing flash memory module and associated flash memory controller
JP2012128778A (ja) データ転送装置、メモリ制御装置、およびメモリシステム
US9552287B2 (en) Data management method, memory controller and embedded memory storage apparatus using the same
JP5815388B2 (ja) メモリアクセス制御装置および方法
US8074012B2 (en) Flash memory apparatus and method for securing a flash memory from data damage
TWI386803B (zh) 快閃記憶卡及快閃記憶體預防資料毀損的方法
US20130219244A1 (en) Storage device
KR20200057866A (ko) 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 이의 동작 방법
TWI657339B (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器
TW201732531A (zh) 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法
CN108614664B (zh) 基于NAND flash的读错误处理方法和装置
CN111142792B (zh) 一种存储装置的掉电保护方法
TWI670598B (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置