TW201621668A - 資料儲存裝置及其資料寫入方法 - Google Patents
資料儲存裝置及其資料寫入方法 Download PDFInfo
- Publication number
- TW201621668A TW201621668A TW104126212A TW104126212A TW201621668A TW 201621668 A TW201621668 A TW 201621668A TW 104126212 A TW104126212 A TW 104126212A TW 104126212 A TW104126212 A TW 104126212A TW 201621668 A TW201621668 A TW 201621668A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- write
- flash memory
- written
- physical page
- Prior art date
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明提供一種資料儲存裝置。資料儲存裝置包括一快閃記憶體以及一控制器。快閃記憶體具有複數實體頁面。控制器用以接收將一第一資料寫入複數特定邏輯位址之一寫入命令,並且根據寫入命令判斷特定邏輯位址是否已被寫入資料,其中當特定邏輯位址中之至少一第一邏輯位址已被寫入資料時,對先前被寫入第一邏輯位址之資料的至少一第一實體頁面進行複寫,並且在結束對第一實體頁面複寫後,根據寫入命令自快閃記憶體中選取複數第二實體頁面,以將第一資料寫入第二實體頁面並且將第一邏輯位址映射至第二實體頁面。
Description
本發明係關於一種資料儲存裝置之資料寫入方法;特別係關於一種判斷特定邏輯位址是否已被寫入資料的資料寫入方法。
快閃記憶體為一種普遍的非揮發性資料儲存媒體,係以電性方式抹除與程式化。以非及閘型的快閃記憶體(即NAND FLASH)為例,常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)、嵌入式快閃記憶體模組(eMMC)…等之儲存媒體。
現在的電子裝置多使用快閃記憶體(如,NAND FLASH)儲存資料。在習知的技術中,雖然使用者已將資料刪除,但在快閃記憶體中舊資料仍然存在,尚未立即抹除,有心者仍可透過特殊方式取出快閃記憶體中之資料。因此,如何有效並且安全地將資料刪除則成為了一個重要的課題。
本發明所提供之資料儲存裝置以及資料寫入方法可以在將資料寫入特定邏輯位址前,複寫特定邏輯位址先前被寫入資料的實體頁面。
本發明提供一種資料儲存裝置。資料儲存裝置包
括一快閃記憶體以及一控制器。快閃記憶體具有複數實體頁面。控制器用以接收將一第一資料寫入複數特定邏輯位址之一寫入命令,並且根據寫入命令判斷特定邏輯位址是否已被寫入資料,其中當特定邏輯位址中之至少一第一邏輯位址已被寫入資料時,對先前被寫入第一邏輯位址之資料的至少一第一實體頁面進行複寫,並且在結束對第一實體頁面複寫後,根據寫入命令自快閃記憶體中選取複數第二實體頁面,以將第一資料寫入第二實體頁面並且將第一邏輯位址映射至第二實體頁面。
在一實施例中,控制器更用以產生具有一第一格式之至少一第一子寫入命令,以致使快閃記憶體根據第一子寫入命令,對第一實體頁面進行複寫,並且控制器亦用以產生具有一第二格式之複數第二子寫入命令,以致使快閃記憶體根據第二子寫入命令,將第一資料段寫入第二實體頁面,其中第一格式不等同於第二格式。第一格式包括一特殊模式切換指令、一寫入指令、一字元線位址以及一資料段,並且第二格式包括一寫入指令、一實體頁面位址以及一資料段。
在另一實施例中,控制器更用以以一第一寫入模式對第一實體頁面進行複寫,並且以一第二寫入模式,將第一資料段寫入第二實體頁面,其中第一寫入模式不等同於第二寫入模式。值得注意的是,快閃記憶體係操作於多階儲存單元,第一寫入模式係為一單階儲存單元寫入模式,並且第二寫入模式為一多階儲存單元寫入模式。
另外,當特定邏輯位址未被寫入資料時,控制器根據寫入命令自快閃記憶體中選取複數第三實體頁面,以將第
一資料寫入第三實體頁面並且將第一邏輯位址映射至第三實體頁面。控制器係根據一實體邏輯映射表判斷特定邏輯位址是否已被寫入資料,在實體邏輯映射表中紀錄特定邏輯位址以及第二實體頁面的相應關係以將第一邏輯位址映射至第二實體頁面,並且在實體邏輯映射表中紀錄特定邏輯位址以及第三實體頁面的相應關係以將第一邏輯位址映射至第三實體頁面。
本發明亦提供一種資料寫入方法,適用於一資料儲存裝置,其中資料儲存裝置包括一快閃記憶體,快閃記憶體具有複數實體頁面。資料寫入方法包括:接收將一第一資料寫入複數特定邏輯位址之一寫入命令;根據寫入命令判斷特定邏輯位址是否已被寫入資料;當特定邏輯位址中之至少一第一邏輯位址已被寫入資料時,對先前被寫入第一邏輯位址之資料的至少一第一實體頁面進行複寫;以及在結束對第一實體頁面複寫後,根據寫入命令自快閃記憶體中選取複數第二實體頁面,以將第一資料寫入第二實體頁面並且將第一邏輯位址映射至第二實體頁面。
在一實施例中,對第一實體頁面進行複寫的步驟更包括產生具有一第一格式之至少一第一子寫入命令,以致使快閃記憶體根據第一子寫入命令,對第一實體頁面進行複寫,並且將第一資料寫入第二實體頁面的步驟更包括產生具有一第二格式之複數第二子寫入命令,以致使快閃記憶體根據第二子寫入命令,將第一資料段寫入第二實體頁面,其中第一格式不等同於第二格式。
在另一實施例中,對第一實體頁面進行複寫的步
驟係以一第一寫入模式對第一實體頁面進行複寫,並且將第一資料寫入第二實體頁面的步驟係以一第二寫入模式,將第一資料段寫入第二實體頁面,其中第一寫入模式不等同於第二寫入模式。快閃記憶體係操作於多階儲存單元,第一寫入模式係為一單階儲存單元寫入模式,並且第二寫入模式為一多階儲存單元寫入模式。
另外,資料寫入方法更包括當特定邏輯位址未被寫入資料時,根據寫入命令自快閃記憶體中選取複數第三實體頁面,以將第一資料寫入第三實體頁面並且將第一邏輯位址映射至第三實體頁面。判斷特定邏輯位址是否已被寫入資料更包括根據一實體邏輯映射表判斷特定邏輯位址是否已被寫入資料,將第一邏輯位址映射至第二實體頁面之步驟更包括在實體邏輯映射表中紀錄特定邏輯位址以及第二實體頁面的相應關係以將第一邏輯位址映射至第二實體頁面,並且將第一邏輯位址映射至第三實體頁面之步驟更包括在實體邏輯映射表中紀錄特定邏輯位址以及第三實體頁面的相應關係以將第一邏輯位址映射至第三實體頁面。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
166‧‧‧隨機存取記憶體
180‧‧‧快閃記憶體
CM1、CM2‧‧‧子寫入命令
C11~C14、C21~C23‧‧‧欄位
S300~S310、S400~S410‧‧‧步驟
第1圖係本發明之一種實施例之電子系統之方塊圖。
第2圖係本發明之一種實施例之子寫入命令之示意圖。
第3圖係本發明之一種實施例之資料寫入方法之流程圖。
第4圖係本發明之另一種實施例之資料寫入方法之流程圖。
以下將詳細討論本發明各種實施例之裝置及使用方法。然而值得注意的是,本發明所提供之許多可行的發明概念可實施在各種特定範圍中。這些特定實施例僅用於舉例說明本發明之裝置及使用方法,但非用於限定本發明之範圍。
第1圖為本發明所提供之一電子系統之一種實施例的方塊圖。電子系統100包括一主機120以及一資料儲存裝置140。資料儲存裝置140包括一快閃記憶體180以及一控制器160,且可根據主機110所下達的命令操作。控制器160包括一運算單元162、一永久記憶體(如,唯讀記憶體ROM)164以及隨機存取記憶體(RAM)166。永久記憶體164與所載之程式碼、資料組成韌體(firmware),由運算單元162執行,使控制器160基於該韌體控制該快閃記憶體180。隨機存取記憶體(RAM)166用以載入程式碼與參數以提供控制器160根據所載入的程式碼與參數動作。快閃記憶體180具有複數區塊,其中每一區塊具有複數實體頁面,其中快閃記憶體180係以頁面為最小單位進行寫入,並且以區塊為最小單位進行抹除。
值得注意的是,在本發明中,快閃記憶體180係操作於多階儲存單元(Multi-Level Cell,MLC)模式。換言之,快閃記憶體180係將每一單階儲存單元(Single-Level Cell,SLC)之一實體頁面(LSB),藉由電壓分佈程式化為兩個實體頁面(LSB以及MSB),以增加快閃記憶體180的記憶體容量,其中每一實體頁面在寫入資料後會對應到一個特定邏輯位址,並且該對應關係係紀錄在快閃記憶體180所儲存之一實體邏輯映射表
中。在單階儲存單元(Single-Level Cell,SLC)模式中,快閃記憶體180中之每一條字元線用以控制一個實體頁面(LSB),並且在多階儲存單元(Multi-Level Cell,MLC)模式中,快閃記憶體180中之每一條字元線用以控制兩個實體頁面(LSB以及MSB)。另外,由上述可知,操作於多階儲存單元(Multi-Level Cell,MLC)模式之快閃記憶體180的記憶體容量是操作於單階儲存單元(Single-Level Cell,SLC)模式之快閃記憶體180的記憶體容量的兩倍。
當控制器160自主機120接收到將一第一資料寫入複數特定邏輯位址之一寫入命令時,控制器160根據寫入命令判斷寫入命令所指示的特定邏輯位址是否已被寫入資料。當特定邏輯位址中之至少一第一邏輯位址已被寫入資料時,控制器160對先前被寫入第一邏輯位址之資料的至少一第一實體頁面進行複寫。在結束對第一實體頁面複寫後,控制器160根據寫入命令自快閃記憶體180中選取複數第二實體頁面,以將第一資料寫入第二實體頁面並且將第一邏輯位址映射至第二實體頁面。當特定邏輯位址未被寫入資料時,控制器160根據寫入命令自快閃記憶體180中選取複數第三實體頁面,以將第一資料寫入第三實體頁面並且將第一邏輯位址映射至第三實體頁面。
另外,在本發明之一實施例中,控制器160可根據實體邏輯映射表判斷特定邏輯位址是否已被寫入資料,但本發明不限於此。舉例而言,控制器160可在實體邏輯映射表中紀錄特定邏輯位址以及第二實體頁面的相應關係以將第一邏輯
位址映射至第二實體頁面,並且在實體邏輯映射表中紀錄特定邏輯位址以及第三實體頁面的相應關係以將第一邏輯位址映射至第三實體頁面。在其他實施例中,控制器160亦可以其他的方式紀錄邏輯位址目前是否有被寫入資料,以判斷特定邏輯位址是否已被寫入資料。另外,控制器160亦可對快閃記憶體180進行資料掃瞄,以判斷特定邏輯位址是否已被寫入資料。
舉例而言,當控制器160自主機120接收到將資料寫入邏輯位址1~60之一第一寫入命令時,控制器160根據寫入命令判斷寫入命令所指示的特定邏輯位址1~60是否已被寫入資料。假設特定邏輯位址1~60尚未被寫入資料,控制器160則直接根據寫入命令自快閃記憶體180中選取60個可使用之實體頁面P0~P60,以將資料寫入實體頁面P0~P60並且將特定邏輯位址1~60分別映射至實體頁面P0~P60。接著,當控制器160自主機120接收到將資料寫入特定邏輯位址1~60之一第二寫入命令時,控制器160根據寫入命令判斷寫入命令所指示的特定邏輯位址1~60是否已被寫入資料。如上所述,特定邏輯位址1~60已被寫入資料,故控制器160對先前被寫入特定邏輯位址1~60(第一邏輯位址)之資料的實體頁面P0~P60進行複寫。在結束對實體頁面P0~P60複寫後,控制器160根據第二寫入命令自快閃記憶體180中另外選取60個實體頁面61~120,以將第二寫入命令之資料寫入實體頁面61~120並且將特定邏輯位址1~60分別映射至實體頁面61~120。在另一實施例中,當控制器160自主機120接收到之第二寫入命令係指示將資料寫入特定邏輯位址50~110時,控制器160根據寫入命令判斷寫入命令所指示
的特定邏輯位址50~110是否已被寫入資料。如上所述,邏輯位址1~60已被寫入資料。換言之,特定邏輯位址50~110中之特定邏輯位址50~60(第一邏輯位址)已被寫入資料,故控制器160對先前被寫入特定邏輯位址50~60之資料的實體頁面P50~P60進行複寫。在結束對實體頁面P50~P60複寫後,控制器160根據第二寫入命令自快閃記憶體180中另外選取60個實體頁面61~120,以將第二寫入命令之資料寫入實體頁面61~120並且將特定邏輯位址50~110分別映射至實體頁面61~120。在上述實施例中,亦可先將新資料寫入後,再對舊資料進行複寫;即是先選取60個實體頁面61~120將第二寫入命令的新資料寫入,再將舊資料所存放的實體頁面P0~P60進行複寫的作法,亦是屬於本發明的範疇。
如上所述,先前寫在第一邏輯位址的資料可在下一筆資料被寫入第一邏輯位址之前被控制器160複寫,其中控制器160可藉由將無效資料寫入第一實體頁面,以對先前被寫入第一邏輯位址之第一實體頁面進行複寫。換言之,先前寫在第一邏輯位址的資料已在下一筆資料被寫入第一邏輯位址之前被無效(或毀損)。在習知的技術中,快閃記憶體180係藉由更改實體邏輯映射表中之映射關係來更新資料。舉例而言,當儲存於一邏輯位址之資料需要被更新時,控制器160刪除實體邏輯映射表中該邏輯位址以及所相應到的實體頁面位址的對應關係,並另外選擇實體頁面寫入新的資料以將寫入新資料之實體頁面映射至該邏輯位址。因此,在習知技術中,原先的資料實際上還存在快閃記憶體180之實體頁面中,只是控制器160無
法藉由映射關係找到該筆資料。也因此,習知技術中之資料更新方式無法防範惡意攻擊者竊取快閃記憶體180中之資料。然而,在本案上述之實施例中,被更新的舊資料藉由複寫進而被無效(或毀損),故可有效的防範惡意攻擊者竊取快閃記憶體180中之資料。
在習知技術中,以多階儲存單元寫入模式對實體頁面進行複寫,會造成被複寫之實體頁面周圍的實體頁面損壞。因此,在本案之一實施例中,控制器160可用不同的操作模式對頁面進行寫入以及複寫,其中控制器160以一第一寫入模式對第一實體頁面進行複寫,以一第二寫入模式,將第一資料段寫入第二實體頁面,並且第一寫入模式不等同於第二寫入模式。在一實施例中,第一寫入模式係為單階儲存單元寫入模式,並且第二寫入模式為多階儲存單元寫入模式,但本發明不限於此。換言之,控制器160在寫入無效資料以進行複寫時,是以單階儲存單元寫入模式將資料寫入快閃記憶體180,其中被單階儲存單元寫入模式寫入的每一個實體頁面,係由一條字元線所控制的。另外,控制器160在寫入有效資料時,是以多階儲存單元寫入模式將資料寫入快閃記憶體180,其中被多階儲存單元寫入模式寫入的每兩個實體頁面,係由一條字元線所控制的。在其他實施例中,快閃記憶體180亦可操作於三階儲存單元(Triple-Level Cell,TLC)寫入模式,第一寫入模式可為單階儲存單元寫入模式或者多階儲存單元寫入模式,並且第二寫入模式可為三階儲存單元寫入模式。
詳細而言,控制器160更用以產生具有一第一格式
之至少一第一子寫入命令,以致使快閃記憶體180根據第一子寫入命令,對第一實體頁面進行複寫,並且控制器160亦用以產生具有一第二格式之複數第二子寫入命令,以致使快閃記憶體180根據第二子寫入命令,將第一資料段寫入第二實體頁面,其中第一格式不等同於第二格式。如上所述,具有第一格式之第一子寫入命令係用以致能快閃記憶體180以單階儲存單元寫入模式將無效資料複寫至快閃記憶體180,並且具有第二格式之第二子寫入命令係用以致能快閃記憶體180以多階儲存單元寫入模式將有效資料寫入快閃記憶體180。
第2圖係本發明之一種實施例之子寫入命令之示意圖。第2圖包括具有第一格式之一第一子寫入命令CM1以及具有第二格式之一第二子寫入命令CM2,其中第一格式之第一子寫入命令CM1係由四個欄位C11、C12、C13、C14所構成,並且第二格式之第二子寫入命令CM2則係由三個欄位C21、C22、C23所構成。第一子寫入命令CM1之第一欄位C11係為一特殊模式切換指令。在本實施例中,特殊模式切換指令為A2用以致使操作於多階儲存單元寫入模式之快閃記憶體180切換到操作於單階儲存單元寫入模式,但本發明不限於此。在其他實施例中,特殊模式切換指令亦可為由其他字元所構成之指令。第一子寫入命令CM1之第二欄位C12係為一寫入指令。在本實施例中,寫入指令為80用以致使快閃記憶體180進行寫入,但本發明不限於此。在其他實施例中,寫入指令亦可為由其他字元所構成之指令。第一子寫入命令CM1之第三欄位C13係為一字元線位址ALE。在本實施例中,字元線位址ALE係用
以表示快閃記憶體180中複數字元線中之一者,以在快閃記憶體180中選取由該指定之字元線所控制的實體頁面。第一子寫入命令CM1之第四欄位C14係為一資料段DATA。在本實施例中,資料段DATA係要寫入由第三欄位C13所指定之字元線所控制的實體頁面的無效資料。第二子寫入命令CM2之第一欄位C21係為一寫入指令。在本實施例中,寫入指令為80用以致使快閃記憶體180進行寫入,但本發明不限於此。在其他實施例中,寫入指令亦可為由其他字元所構成之指令。第二子寫入命令CM2之第二欄位C22係為一實體頁面位址SP。在本實施例中,實體頁面位址SP係用以表示操作於多階儲存單元寫入模式之快閃記憶體180中之複數實體頁面中之一者,以在快閃記憶體180中選取一實體頁面。第二子寫入命令CM2之第三欄位C23係為一資料段DATA。在本實施例中,資料段DATA係要寫入由第二欄位C22所指定之實體頁面的有效資料。換言之,第三欄位C23之資料段DATA係寫入命令所要寫入之資料中之一段。綜上所述,第一格式包括一特殊模式切換指令、一寫入指令、一字元線位址以及一資料段,並且第二格式包括一寫入指令、一實體頁面位址以及一資料段。
第3圖係本發明之一種實施例之資料寫入方法之流程圖。資料寫入方法適用於第1圖所示之資料儲存裝置140。流程開始於步驟S300。
在步驟S300中,控制器160判斷是否自主機120接收到寫入命令。當控制器160自主機120接收到寫入命令時,流程進行至步驟S302;否則,控制器160繼續判斷是否自主機120
接收到寫入命令。
在步驟S302中,控制器160根據寫入命令,判斷相應於寫入命令之特定邏輯位址是否已被寫入資料。舉例而言,控制器160在步驟S300中接收到將一第一資料寫入快閃記憶體180中之複數特定邏輯位址之一寫入命令。控制器160根據寫入入命令,判斷寫入命令所指示之特定邏輯位址中是否有已被寫入資料之邏輯位址。當相應於寫入命令之特定邏輯位址中之至少一第一邏輯位址已被寫入資料時,流程進行至步驟S306。當相應於寫入命令之特定邏輯位址皆未被寫入資料時,流程進行至步驟S310。在本發明之一實施例中,控制器160可根據實體邏輯映射表判斷特定邏輯位址是否已被寫入資料,但本發明不限於此。舉例而言,控制器160可在在實體邏輯映射表中紀錄特定邏輯位址以及第二實體頁面的相應關係以將第一邏輯位址映射至第二實體頁面,並且在實體邏輯映射表中紀錄特定邏輯位址以及第三實體頁面的相應關係以將第一邏輯位址映射至第三實體頁面。在其他實施例中,控制器160亦可以其他的方式紀錄邏輯位址目前是否有被寫入資料,以判斷特定邏輯位址是否已被寫入資料。另外,控制器160亦可對快閃記憶體180進行資料掃瞄,以判斷特定邏輯位址是否已被寫入資料。
在步驟S306中,控制器160對先前被寫入第一邏輯位址之資料的至少一第一實體頁面進行複寫。舉例而言,當控制器160在步驟S300中自主機120接收到之寫入命令係指示將資料寫入特定邏輯位址50~110時,控制器160在步驟S302中判斷邏輯位址1~60已被寫入資料。換言之,特定邏輯位址50~110
中之第一邏輯位址50~60已被寫入資料。因此,在步驟S304中,控制器160對特定邏輯位址50~110中先前已被寫入資料之第一邏輯位址50~60的實體頁面進行複寫。
接著,在步驟S310中,控制器160自快閃記憶體180中選取可使用之複數實體頁面,以將寫入指令要求寫入之資料寫入所選取的實體頁面,並且將寫入指令所要求之邏輯位址映射至所寫入之實體頁面。舉例而言,當控制器160在步驟S300中自主機120接收到之寫入命令係指示將資料寫入特定邏輯位址50~110時,控制器160根據寫入命令自快閃記憶體180中選取60個可使用之實體頁面61~120,以將寫入命令之資料寫入實體頁面61~120並且將特定邏輯位址50~110分別映射至實體頁面61~120。在本實施例中,可使用的實體頁面為不具有有效資料的頁面。在另一實施例中,可使用的實體頁面不包括在步驟S306中被複寫之頁面。流程結束於步驟S310。
第4圖係本發明之另一種實施例之資料寫入方法之流程圖。資料寫入方法適用於第1圖所示之資料儲存裝置140。值得注意的是,在本實施例中,控制器160可用不同的操作模式對頁面進行寫入以及複寫,其中控制器160以一第一寫入模式對第一實體頁面進行複寫,以一第二寫入模式,將第一資料段寫入第二實體頁面,並且第一寫入模式不等同於第二寫入模式。在一實施例中,第一寫入模式係為單階儲存單元寫入模式,並且第二寫入模式為多階儲存單元寫入模式,但本發明不限於此。換言之,在本實施例中,控制器160在寫入無效資料以進行複寫時,是以單階儲存單元寫入模式將資料寫入快閃
記憶體180,其中被單階儲存單元寫入模式寫入的每一個實體頁面,係由一條字元線所控制的。另外,控制器160在寫入有效資料時,是以多階儲存單元寫入模式將資料寫入快閃記憶體180,其中被多階儲存單元寫入模式寫入的每兩個實體頁面,係由一條字元線所控制的。流程開始於步驟S400。
在步驟S400中,控制器160判斷是否自主機120接收到寫入命令。當控制器160自主機120接收到寫入命令時,流程進行至步驟S402;否則,控制器160繼續判斷是否自主機120接收到寫入命令。
在步驟S402中,控制器160根據寫入命令,判斷相應於寫入命令之特定邏輯位址是否已被寫入資料。舉例而言,控制器160在步驟S400中接收到將一第一資料寫入快閃記憶體180中之複數特定邏輯位址之一寫入命令。控制器160根據寫入入命令,判斷寫入命令所指示之特定邏輯位址中是否有已被寫入資料之邏輯位址。當相應於寫入命令之特定邏輯位址中之至少一第一邏輯位址已被寫入資料時,流程進行至步驟S404。當相應於寫入命令之特定邏輯位址皆未被寫入資料時,流程進行至步驟S408。在本發明之一實施例中,控制器160可根據實體邏輯映射表判斷特定邏輯位址是否已被寫入資料,但本發明不限於此。
在步驟S404中,控制器160更用以產生具有一第一格式之至少一第一子寫入命令。具有第一格式之第一子寫入命令係用以致能快閃記憶體180以單階儲存單元寫入模式將無效資料複寫至快閃記憶體180。第一格式之第一子寫入命令CM1
係由四個欄位C11、C12、C13、C14所構成,如第2圖所示。第一子寫入命令CM1之第一欄位C11係為一特殊模式切換指令。在本實施例中,特殊模式切換指令為A2用以致使操作於多階儲存單元寫入模式之快閃記憶體180切換到操作於單階儲存單元寫入模式,但本發明不限於此。在其他實施例中,特殊模式切換指令亦可為由其他字元所構成之指令。第一子寫入命令CM1之第二欄位C12係為一寫入指令。在本實施例中,寫入指令為80用以致使快閃記憶體180進行寫入,但本發明不限於此。在其他實施例中,寫入指令亦可為由其他字元所構成之指令。第一子寫入命令CM1之第三欄位C13係為一字元線位址ALE。在本實施例中,字元線位址ALE係用以表示快閃記憶體180中複數字元線中之一者,以在快閃記憶體180中選取由該指定之字元線所控制的實體頁面。第一子寫入命令CM1之第四欄位C14係為一資料段DATA。在本實施例中,資料段DATA係要寫入由第三欄位C13所指定之字元線所控制的實體頁面的無效資料。
在步驟S406中,控制器160根據第一子寫入命令,以單階儲存單元寫入模式對先前被寫入第一邏輯位址之資料的至少一第一實體頁面進行複寫。舉例而言,當控制器160在步驟S400中自主機120接收到之寫入命令係指示將資料寫入特定邏輯位址50~110時,控制器160在步驟S402中判斷邏輯位址1~60已被寫入資料。換言之,特定邏輯位址50~110中之第一邏輯位址50~60已被寫入資料。因此,在步驟S404中,控制器160對特定邏輯位址50~110中先前已被寫入資料之第一邏輯位址50~60的實體頁面進行複寫。
在步驟S406中,控制器160自快閃記憶體180中選取可使用之複數實體頁面,並且產生具有一第二格式之複數第二子寫入命令。具有第二格式之第二子寫入命令係用以致能快閃記憶體180以多階儲存單元寫入模式將有效資料寫入快閃記憶體180。第二格式之第二子寫入命令CM2則係由三個欄位C21、C22、C23所構成,如第2圖所示。第二子寫入命令CM2之第一欄位C21係為一寫入指令。在本實施例中,寫入指令為80用以致使快閃記憶體180進行寫入,但本發明不限於此。在其他實施例中,寫入指令亦可為由其他字元所構成之指令。第二子寫入命令CM2之第二欄位C22係為一實體頁面位址SP。在本實施例中,實體頁面位址SP係用以表示操作於多階儲存單元寫入模式之快閃記憶體180中之複數實體頁面中之一者,以在快閃記憶體180中選取一實體頁面。第二子寫入命令CM2之第三欄位C23係為一資料段DATA。在本實施例中,資料段DATA係要寫入由第二欄位C22所指定之實體頁面的有效資料。換言之,第三欄位C23之資料段DATA係寫入命令所要寫入之資料中之一段。
接著,在步驟S408中,控制器160根據第二子寫入命令,以多階儲存單元寫入模式將寫入指令要求寫入之資料寫入所選取的實體頁面,並且將寫入指令所要求之邏輯位址映射至所寫入之實體頁面。舉例而言,當控制器160在步驟S400中自主機120接收到之寫入命令係指示將資料寫入特定邏輯位址50~110時,控制器160根據寫入命令自快閃記憶體180中選取60個可使用之實體頁面61~120,以將寫入命令之資料寫入實體頁
面61~120並且將特定邏輯位址50~110分別映射至實體頁面61~120。在本實施例中,可使用的實體頁面為不具有有效資料的頁面。在另一實施例中,可使用的實體頁面不包括在步驟S406中被複寫之頁面。流程結束於步驟S408。
本案所提供之資料儲存裝置140以及資料寫入方法可保持快閃記憶體180中僅會持有一份對應於一個邏輯位址之資料。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,摘要部分和標題僅是用來輔助專利文件搜尋之用,並非用來限制本發明之權利範圍。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
166‧‧‧隨機存取記憶體
180‧‧‧快閃記憶體
Claims (18)
- 一種資料儲存裝置,包括:一快閃記憶體,具有複數實體頁面;以及一控制器,用以接收將一第一資料寫入複數特定邏輯位址之一寫入命令,並且根據該寫入命令判斷該等特定邏輯位址是否已被寫入資料,其中當該等特定邏輯位址中之至少一第一邏輯位址已被寫入資料時,對先前被寫入該第一邏輯位址之資料的至少一第一實體頁面進行複寫,並且在結束對該第一實體頁面複寫後,根據該寫入命令自該快閃記憶體中選取複數第二實體頁面,以將該第一資料寫入該等第二實體頁面並且將該等第一邏輯位址映射至該等第二實體頁面。
- 根據申請專利範圍第1項之資料儲存裝置,其中該控制器更用以產生具有一第一格式之至少一第一子寫入命令,以致使該快閃記憶體根據該第一子寫入命令,對該第一實體頁面進行複寫,並且該控制器亦用以產生具有一第二格式之複數第二子寫入命令,以致使該快閃記憶體根據該等第二子寫入命令,將該第一資料段寫入該等第二實體頁面,其中該第一格式不等同於該第二格式。
- 根據申請專利範圍第2項之資料儲存裝置,其中該第一格式包括一特殊模式切換指令、一寫入指令、一字元線位址以及一資料段,並且該第二格式包括一寫入指令、一實體頁面位址以及一資料段。
- 根據申請專利範圍第1項之資料儲存裝置,其中該控制器更 用以以一第一寫入模式對該第一實體頁面進行複寫,並且以一第二寫入模式,將該第一資料段寫入該等第二實體頁面,其中該第一寫入模式不等同於該第二寫入模式。
- 根據申請專利範圍第4項之資料儲存裝置,其中該快閃記憶體係操作於多階儲存單元,該第一寫入模式係為一單階儲存單元寫入模式,並且該第二寫入模式為一多階儲存單元寫入模式。
- 根據申請專利範圍第1項之資料儲存裝置,其中當該等特定邏輯位址未被寫入資料時,該控制器根據該寫入命令自該快閃記憶體中選取複數第三實體頁面,以將該第一資料寫入該等第三實體頁面並且將該等第一邏輯位址映射至該等第三實體頁面。
- 根據申請專利範圍第6項之資料儲存裝置,其中該控制器係根據一實體邏輯映射表判斷該等特定邏輯位址是否已被寫入資料,在該實體邏輯映射表中紀錄該等特定邏輯位址以及該等第二實體頁面的相應關係以將該等第一邏輯位址映射至該等第二實體頁面,並且在該實體邏輯映射表中紀錄該等特定邏輯位址以及該等第三實體頁面的相應關係以將該等第一邏輯位址映射至該等第三實體頁面。
- 一種資料寫入方法,適用於一資料儲存裝置,其中該資料儲存裝置包括一快閃記憶體,該快閃記憶體具有複數實體頁面,資料寫入方法包括:接收將一第一資料寫入複數特定邏輯位址之一寫入命令; 根據該寫入命令判斷該等特定邏輯位址是否已被寫入資料;當該等特定邏輯位址中之至少一第一邏輯位址已被寫入資料時,對先前被寫入該第一邏輯位址之資料的至少一第一實體頁面進行複寫;以及在結束對該第一實體頁面複寫後,根據該寫入命令自該快閃記憶體中選取複數第二實體頁面,以將該第一資料寫入該等第二實體頁面並且將該等第一邏輯位址映射至該等第二實體頁面。
- 根據申請專利範圍第8項之資料寫入方法,其中對該第一實體頁面進行複寫的步驟更包括產生具有一第一格式之至少一第一子寫入命令,以致使該快閃記憶體根據該第一子寫入命令,對該第一實體頁面進行複寫,並且將該第一資料寫入該等第二實體頁面的步驟更包括產生具有一第二格式之複數第二子寫入命令,以致使該快閃記憶體根據該等第二子寫入命令,將該第一資料段寫入該等第二實體頁面,其中該第一格式不等同於該第二格式。
- 根據申請專利範圍第9項之資料寫入方法,其中該第一格式包括一特殊模式切換指令、一寫入指令、一字元線位址以及一資料段,並且該第二格式包括一寫入指令、一實體頁面位址以及一資料段。
- 根據申請專利範圍第8項之資料寫入方法,其中對該第一實體頁面進行複寫的步驟係以一第一寫入模式對該第一實體頁面進行複寫,並且將該第一資料寫入該等第二實體頁面 的步驟係以一第二寫入模式,將該第一資料段寫入該等第二實體頁面,其中該第一寫入模式不等同於該第二寫入模式。
- 根據申請專利範圍第11項之資料寫入方法,其中該快閃記憶體係操作於多階儲存單元,該第一寫入模式係為一單階儲存單元寫入模式,並且該第二寫入模式為一多階儲存單元寫入模式。
- 根據申請專利範圍第8項之資料寫入方法,更包括當該等特定邏輯位址未被寫入資料時,根據該寫入命令自該快閃記憶體中選取複數第三實體頁面,以將該第一資料寫入該等第三實體頁面並且將該等第一邏輯位址映射至該等第三實體頁面。
- 根據申請專利範圍第13項之資料寫入方法,其中判斷該等特定邏輯位址是否已被寫入資料更包括根據一實體邏輯映射表判斷該等特定邏輯位址是否已被寫入資料,將該等第一邏輯位址映射至該等第二實體頁面之步驟更包括在該實體邏輯映射表中紀錄該等特定邏輯位址以及該等第二實體頁面的相應關係以將該等第一邏輯位址映射至該等第二實體頁面,並且將該等第一邏輯位址映射至該等第三實體頁面之步驟更包括在該實體邏輯映射表中紀錄該等特定邏輯位址以及該等第三實體頁面的相應關係以將該等第一邏輯位址映射至該等第三實體頁面。
- 一種資料寫入方法,適用於一資料儲存裝置,其中該資料儲存裝置包括一快閃記憶體,該快閃記憶體具有複數實體 頁面,資料寫入方法包括:接收一寫入命令,該寫入命令具有一第一資料,以及一第一邏輯位址;自該快閃記憶體中選取一第二實體頁面,以將該第一資料寫入該第二實體頁面並且將該第一邏輯位址映射至該第二實體頁面;以及當該第一邏輯位址已被寫入資料時,對先前被寫入該第一邏輯位址之資料的至少一第一實體頁面進行複寫。
- 根據申請專利範圍第15項之資料寫入方法,其中對該第一實體頁面進行複寫的步驟更包括產生具有一第一格式之至少一第一子寫入命令,以致使該快閃記憶體根據該第一子寫入命令,對該第一實體頁面進行複寫,並且將該第一資料寫入該等第二實體頁面的步驟更包括產生具有一第二格式之複數第二子寫入命令,以致使該快閃記憶體根據該等第二子寫入命令,將該第一資料段寫入該等第二實體頁面,其中該第一格式不等同於該第二格式。
- 根據申請專利範圍第15項之資料寫入方法,其中對該第一實體頁面進行複寫的步驟係以一第一寫入模式對該第一實體頁面進行複寫,並且將該第一資料寫入該等第二實體頁面的步驟係以一第二寫入模式,將該第一資料段寫入該等第二實體頁面,其中該第一寫入模式不等同於該第二寫入模式。
- 根據申請專利範圍第17項之資料寫入方法,其中該快閃記憶體係操作於多階儲存單元,該第一寫入模式係為一單階 儲存單元寫入模式,並且該第二寫入模式為一多階儲存單元寫入模式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510565645.4A CN105701021B (zh) | 2014-12-10 | 2015-09-08 | 数据储存装置及其数据写入方法 |
US14/945,803 US20160170671A1 (en) | 2014-12-10 | 2015-11-19 | Data storage device and data writing method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462089982P | 2014-12-10 | 2014-12-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201621668A true TW201621668A (zh) | 2016-06-16 |
TWI561984B TWI561984B (en) | 2016-12-11 |
Family
ID=56755483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104126212A TWI561984B (en) | 2014-12-10 | 2015-08-12 | Data storage device and data writing method thereof |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI561984B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI652577B (zh) | 2017-06-19 | 2019-03-01 | 慧榮科技股份有限公司 | 資料儲存裝置及非揮發式記憶體操作方法 |
TWI720512B (zh) * | 2016-09-19 | 2021-03-01 | 美商美光科技公司 | 具有包含靜態及動態單元之混合快取記憶體裝置及電子系統以及相關方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI661300B (zh) * | 2017-09-15 | 2019-06-01 | 旺宏電子股份有限公司 | 記憶體的資料管理方法及記憶體裝置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7814263B2 (en) * | 2006-10-26 | 2010-10-12 | Sandisk Il Ltd. | Erase history-based flash writing method |
US20090196417A1 (en) * | 2008-02-01 | 2009-08-06 | Seagate Technology Llc | Secure disposal of storage data |
TWI375956B (en) * | 2008-02-29 | 2012-11-01 | Phison Electronics Corp | Block management methnd for flash memory, controller and storage sysetm thereof |
US9437312B2 (en) * | 2009-02-26 | 2016-09-06 | Sandisk Il Ltd. | Management of write-protected data in a semiconductor memory |
US9171004B2 (en) * | 2009-03-09 | 2015-10-27 | Sandisk Il Ltd. | System and method to respond to a data file deletion instruction |
TWI423022B (zh) * | 2011-02-15 | 2014-01-11 | Phison Electronics Corp | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 |
-
2015
- 2015-08-12 TW TW104126212A patent/TWI561984B/zh active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI720512B (zh) * | 2016-09-19 | 2021-03-01 | 美商美光科技公司 | 具有包含靜態及動態單元之混合快取記憶體裝置及電子系統以及相關方法 |
US11204696B2 (en) | 2016-09-19 | 2021-12-21 | Micron Technology, Inc. | Memory devices and electronic systems having a hybrid cache including static and dynamic caches that may be selectively disabled based on cache workload or availability, and related methods |
TWI652577B (zh) | 2017-06-19 | 2019-03-01 | 慧榮科技股份有限公司 | 資料儲存裝置及非揮發式記憶體操作方法 |
US10229054B2 (en) | 2017-06-19 | 2019-03-12 | Silicon Motion, Inc. | Data storage device and method for operating nonvolatile memory |
Also Published As
Publication number | Publication date |
---|---|
TWI561984B (en) | 2016-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105701021B (zh) | 数据储存装置及其数据写入方法 | |
US6711663B2 (en) | Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof | |
US8037232B2 (en) | Data protection method for power failure and controller using the same | |
US7840617B2 (en) | Host device and memory system | |
US10991422B2 (en) | Data storage device using a host memory buffer for single-level cell storage and control method for non-volatile memory | |
US9037782B2 (en) | Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same | |
US8312554B2 (en) | Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus | |
US20060149902A1 (en) | Apparatus and method for storing data in nonvolatile cache memory considering update ratio | |
US20080028132A1 (en) | Non-volatile storage device, data storage system, and data storage method | |
TWI603194B (zh) | 資料儲存裝置以及其資料存取方法 | |
JP2008016003A (ja) | メモリー格納装置及びその読み書き方法 | |
JP2006018839A (ja) | 漸進的マージ方法及びそれを利用したメモリシステム | |
JP2008090519A (ja) | 記憶装置 | |
WO2007000862A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法 | |
JP5592478B2 (ja) | 不揮発性記憶装置及びメモリコントローラ | |
US20110179217A1 (en) | Flash Storage Device and Data Access Method of Flash Memory | |
TW201621668A (zh) | 資料儲存裝置及其資料寫入方法 | |
JP4829202B2 (ja) | 記憶装置及びメモリ制御方法 | |
KR100932801B1 (ko) | 메모리 관리 방법, 메모리 장치 및 컴퓨터 판독 가능 저장매체 | |
JP2005078378A (ja) | データ記憶装置及び不揮発性メモリに対するデータ書き込み方法 | |
TWI661300B (zh) | 記憶體的資料管理方法及記憶體裝置 | |
WO2020039927A1 (ja) | 不揮発性記憶装置、ホスト装置、及びデータ記憶システム | |
JP5491201B2 (ja) | 半導体記録装置及び半導体記録システム | |
KR100982440B1 (ko) | 단일 플래시 메모리의 데이터 관리시스템 | |
JP2008299455A (ja) | データ記憶装置及びデータ管理方法 |