TWI621129B - 資料儲存裝置及其資料寫入方法 - Google Patents

資料儲存裝置及其資料寫入方法 Download PDF

Info

Publication number
TWI621129B
TWI621129B TW105134401A TW105134401A TWI621129B TW I621129 B TWI621129 B TW I621129B TW 105134401 A TW105134401 A TW 105134401A TW 105134401 A TW105134401 A TW 105134401A TW I621129 B TWI621129 B TW I621129B
Authority
TW
Taiwan
Prior art keywords
order
data
page
block
blocks
Prior art date
Application number
TW105134401A
Other languages
English (en)
Other versions
TW201816787A (zh
Inventor
林文生
Original Assignee
慧榮科技股份有限公司
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 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to TW105134401A priority Critical patent/TWI621129B/zh
Priority to CN201611028558.6A priority patent/CN107977161B/zh
Priority to US15/659,216 priority patent/US10096357B2/en
Application granted granted Critical
Publication of TWI621129B publication Critical patent/TWI621129B/zh
Publication of TW201816787A publication Critical patent/TW201816787A/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • G11C16/225Preventing erasure, programming or reading when power supply voltages are outside the required ranges
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5642Multilevel memory with buffers, latches, registers at input or output
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5648Multilevel memory programming, reading or erasing operations wherein the order or sequence of the operations is relevant
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/14Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本發明提供一種資料儲存裝置。資料儲存裝置包括一快閃記憶體以及一控制器。快閃記憶體具有複數三階區塊,其中每一三階區塊包括複數頁面。控制器在資料儲存裝置自一斷電事件中回復時,檢查一第一頁面的一第一編號是否大於一既定臨界值,並且當第一頁面的第一編號大於既定臨界值時,停止將資料寫入一第一三階區塊,其中第一三階區塊是在該斷電事件發生時未完成寫入程序之區塊,並且第一頁面是第一三階區塊中最後一個進行寫入之頁面。

Description

資料儲存裝置及其資料寫入方法
本發明係關於一種資料儲存裝置之資料寫入方法;特別係關於一種三階儲存單元的資料寫入方法。
快閃記憶體為一種普遍的非揮發性資料儲存媒體,係以電性方式抹除與程式化。以非及閘型的快閃記憶體(即NAND FLASH)為例,常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)、嵌入式快閃記憶體模組(eMMC)‧‧‧等之儲存媒體。
快閃記憶體(如,NAND FLASH)的儲存陣列包括複數個區塊(blocks),其中浮置閘極電晶體可用以構成快閃記憶體。浮置閘極電晶體中之浮置閘極,可捕捉的電荷以儲存資料。然而,儲存於浮置閘極之電荷會由於快閃記憶體之操作以及各種環境參數,自浮置閘極流失,造成資料保存(Data retention)之問題。其中,三階儲存單元(Triple-Level Cell,TLC)之快閃記憶體相較於其他單階儲存單元(Single-Level Cell,SLC)之快閃記憶體以及二階儲存單元(Multi-Level Cell,MLC)之快閃記憶體,更容易受環境影響而無法保存資料。尤其是在斷電事件發生時,三階儲存單元相較於其他儲存單元有更大的機率被斷電事件影響而造成資料損毀。
本發明所提供之資料儲存裝置以及資料寫入方法可藉由繼續使用遭受斷電攻擊之三階區塊,來避免三階區塊的浪費並且減少三階區塊的抹除次數。
本發明提供一種資料儲存裝置。資料儲存裝置包括一快閃記憶體以及一控制器。快閃記憶體具有複數單階區塊以及複數三階區塊,其中每一單階區塊具有依序自X開始編號之複數頁面。控制器在資料儲存裝置自一斷電事件中回復時,檢查一第一頁面的一第一編號是否大於一既定臨界值,並且當第一頁面的第一編號大於既定臨界值時,將一第一三階區塊關閉,其中第一三階區塊是在該斷電事件發生時未完成寫入程序之區塊,並且第一頁面是第一三階區塊中最後一個進行寫入之頁面。當第一頁面的第一編號小於既定臨界值時,控制器自三階區塊中選擇一第二三階區塊,以將原本要寫入第一三階區塊之資料全部寫入第二三階區塊。
在一實施例中,第一三階區塊之寫入程序係將一第一既定數量之該等單階區塊中之資料,寫入至三階區塊中之一者。每一三階區塊具有一第二既定數量之頁面,並且既定臨界值為第二既定數量之二分之一至三分之一之間的值。
在另一實施例中,控制器係將一虛擬資料寫入該第一三階區塊中除了至少一特定頁面外之其他頁面,以關閉第一三階區塊。其中,特定頁面為編號為X~Y之至少一該頁面,並且Y為第一頁面之該第一編號減去一第一既定值。
又另一實施例中,在第一三階區塊被關閉後,控 制器更檢查第一三階區塊中之所有頁面之複數錯誤位元數使否超過一第二既定值。當第一三階區塊中之任一頁面的錯誤位元數大於第二既定值時,控制器自三階區塊中選擇一第二三階區塊,以將原本要寫入第一三階區塊之資料全部寫入第二三階區塊。當對第二三階區塊寫入的過程中皆未發生斷電事件時,控制器在完成第二三階區塊的寫入程序後,接著處理其他工作,並且省略檢查第二三階區塊中之所有頁面之錯誤位元數的步驟。
又另一實施例中,當第一頁面的第一編號小於既定臨界值時,控制器自三階區塊中選擇一第二三階區塊,以將原本要寫入第一三階區塊之資料全部寫入第二三階區塊。
在檢查第一頁面的第一編號是否大於既定臨界值之前,控制器更檢查在斷電事件發生時第一三階區塊中最後一個進行寫入之第一頁面是否可被成功讀取,並且當該斷電事件發生時該第一三階區塊中最後一個進行寫入之第一頁面可被成功讀取時,才進行檢查該第一頁面的該第一編號是否大於該既定臨界值的動作。
本發明另提供一種資料寫入方法,適用於一資料儲存裝置,其中資料儲存裝置包括具有複數單階區塊以及複數三階區塊之一快閃記憶體,每一三階區塊具有依序自X開始編號之複數頁面。資料寫入方法包括:當資料儲存裝置自一斷電事件中回復時,檢查在斷電事件發生時是否存在未完成寫入程序之三階區塊;當在斷電事件發生時有一第一三階區塊未完成寫入程序時,檢查一第一頁面的一第一編號是否大於一既定臨 界值;以及當第一頁面的第一編號大於既定臨界值時,將一第一三階區塊關閉,其中第一三階區塊是在斷電事件發生時未完成寫入程序之區塊,並且第一頁面是第一三階區塊中最後一個進行寫入之頁面。
在一實施例中,第一三階區塊之寫入程序係將一第一既定數量之該等單階區塊中之資料,寫入三階區塊中之一者。每一三階區塊具有一第二既定數量之頁面,並且既定臨界值為第二既定數量之二分之一至三分之一之間的值。
在一實施例中,關閉該第一三階區塊的步驟包括將一虛擬資料寫入第一三階區塊中除了至少一特定頁面外之其他該頁面。其中,特定頁面為編號為X~Y之至少一該頁面,Y為第一頁面之第一編號減去一第一既定值。
另外,資料寫入方法更包括在第一三階區塊被關閉後,檢查第一三階區塊中之所有頁面之複數錯誤位元數使否超過一第二既定值;當第一三階區塊中之任一頁面的該錯誤位元數大於第二既定值時,自等三階區塊中選擇一第二三階區塊;以及將原本要寫入第一三階區塊之資料全部寫入第二三階區塊。其中,當對第二三階區塊寫入的過程中皆未發生斷電事件時,資料寫入方法更包括在完成第二三階區塊的寫入程序後,接著處理其他工作,並且省略檢查第二三階區塊中之所有頁面之錯誤位元數的步驟。
又另一實施例中,資料寫入方法更包括當第一頁面的第一編號小於既定臨界值時,自三階區塊中選擇一第二三階區塊,以將原本要寫入第一三階區塊之資料全部寫入第二三 階區塊。
又另一實施例中,資料寫入方法更包括在檢查第一頁面的第一編號是否大於既定臨界值之前,檢查在斷電事件發生時第一三階區塊中最後一個進行寫入之第一頁面是否可被成功讀取;以及當斷電事件發生時第一三階區塊中最後一個進行寫入之第一頁面可被成功讀取時,才進行檢查該第一頁面的第一編號是否大於既定臨界值的動作。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
166‧‧‧隨機存取記憶體
180‧‧‧快閃記憶體
SLC_1~SLC_N‧‧‧單階區塊
TLC_1~TLC_N‧‧‧三階區塊
P1~P10‧‧‧頁面
Data_1~Data_7‧‧‧資料
S500~S514、S600~S614‧‧‧步驟
第1圖係本發明之一種實施例之電子系統之方塊圖。
第2圖係本發明之一種實施例之快閃記憶體之示意圖。
第3圖係本發明之一種實施例之區塊之示意圖。
第4圖係本發明之一種實施例之區塊之示意圖。
第5圖係本發明之一種實施例之資料寫入方法之流程圖。
第6A及6B圖係本發明之一種實施例之資料寫入方法之流程圖。
以下將詳細討論本發明各種實施例之裝置及使用方法。然而值得注意的是,本發明所提供之許多可行的發明概念可實施在各種特定範圍中。這些特定實施例僅用於舉例說明本發明之裝置及使用方法,但非用於限定本發明之範圍。
第1圖為本發明所提供之一電子系統之一種實施例的方塊圖。電子系統100包括一主機120以及一資料儲存裝置140。資料儲存裝置140包括一快閃記憶體180以及一控制器 160,且可根據主機110所下達的命令操作。控制器160包括一運算單元162、一永久記憶體(如,唯讀記憶體ROM)164以及隨機存取記憶體(RAM)166。永久記憶體164與所載之程式碼、資料組成韌體(firmware),由運算單元162執行,使控制器160基於該韌體控制該快閃記憶體180。隨機存取記憶體(RAM)166用以載入程式碼與參數以提供控制器160根據所載入的程式碼與參數動作。快閃記憶體180具有複數區塊,其中每一區塊具有複數頁面,其中快閃記憶體180係以頁面為最小單位進行寫入,並且以區塊為最小單位進行抹除。在某些實施例中,控制器160可包括一錯誤校正引擎(未圖示)用以對所讀取之資料進行錯誤校正(Error Correction),以及對寫入之資料進行編碼以獲得校驗碼(parity),其中錯誤校正引擎更可藉由讀取資料來獲得頁面中所儲存之資料的錯誤位元。
在一實施例中,快閃記憶體180中之區塊可包括複數單階區塊SLC_1~SLC_N以及複數三階區塊TLC_1~TLC_N,如第2圖所示,其中每一單階區塊SLC_1~SLC_N具有複數頁面,並且每一三階區塊TLC_1~TLC_N亦具有依序自X開始編號之複數頁面。值得注意的是,每一三階區塊TLC_1~TLC_N以及每一單階區塊SLC_1~SLC_N皆具有複數字元線,三階區塊TLC_1~TLC_N以及階區塊SLC_1~SLC_N中之每一頁面具有相應之字元線中之一者,其中字元線亦依序具有編號。字元線是用以選擇需要進行存取之頁面。因此,每一字元線用以控制某個區塊中之一特定頁面,但本發明不限於此。在其他實施立中,一個字元縣可用以控制某區塊中兩個或者三個頁面。另 外,字元線可用以判斷區塊中之頁面的編號。
單階區塊SLC_1~SLC_N係用以以單階儲存單元模式(Single-Level Cell mode,SLC mode)寫入資料的區塊,並且三階區塊係用以以三階儲存單元模式(Triple-Level Cell mode,TLC mode)寫入資料的區塊。另外,三階區塊TLC_1~TLC_N可儲存之資料量是單階區塊SLC_1~SLC_N的三倍。詳細而言,三階區塊以及單階區塊中之頁面皆是快閃記憶體180中之頁面,其物理構造是相同的。然而,三階區塊中之頁面是藉由電壓對區塊進行多次整理(Program)來寫入資料,而單階區塊中之頁面是藉由電壓對區塊進行一次整理(Program)來寫入資料。在一實施例中,三階區塊中之頁面是藉由電壓對區塊進行三次整理(Program)來寫入資料。換言之,三個具有有效資料之單階區塊可整理為一個三階區塊,但本發明不限於此。
值得注意的是,本發明所揭露之快閃記憶體180為操作於三階儲存單元(Triple-Level Cell,TLC)模式之記憶體,並且包括單階儲存單元(Single-Level Cell,SLC),其中資料儲存至三階區塊TLC_1~TLC_N之前,需要先將資料儲存至相應的複數個單階區塊SLC_1~SLC_N。在資料的儲存過程中,控制器160被設置為用以對單階區塊SLC_1~SLC_N中之一預定數量之單階區塊進行一預定次數之讀取程序,以將單階儲存單元的資料整理(program)至一個三階區塊中。詳細而言,當控制器160需要將資料寫入快閃記憶體180中之一特定三階區塊時,控制器160會先將資料寫入單階區塊SLC_1~SLC_N中之一第一既定 數量之特定單階區塊。接著,控制器160對特定單階區塊進行一預定次數之讀取程序,以分別根據所讀取之資料寫入(program)特定三階區塊,進而將資料儲存至特定三階區塊中。換言之,三階區塊之寫入程序係將一第一既定數量之單階區塊中之資料,寫入(program)至所需寫入之三階區塊中。
在一實施例中,第一既定數量可為3,但本發明不限於此。在其他實施例中,第一既定數量亦可為4、5、6、7、8或者其他正整數。舉例而言,控制器160需要將資料寫入快閃記憶體180中之一特定三階區塊TLC_1,如第3圖所示。控制器160會先將資料寫入3個之特定單階區塊SLC_1~SLC_3。接著,控制器160分別對特定單階區塊SLC_1~SLC_3中之三個第一頁面進行第一次讀取程序,以根據特定單階區塊SLC_1~SLC_3中之三個第一頁面的資料對特定三階區塊TLC_1中之一個第一頁面進行第一次寫入。接著,控制器160分別對特定單階區塊SLC-1~SLC-3中之三個第一頁面進行第二次讀取程序,以根據特定單階區塊SLC_1~SLC_3中之三個第一頁面的資料對特定三階區塊TLC_1中之該第一頁面進行第二次寫入。最後,控制器160分別對特定單階區塊SLC_1~SLC_3中之三個第一頁面進行第三次讀取程序,以根據特定單階區塊SLC_1~SLC_3中之三個第一頁面的資料對特定三階區塊TLC_1中之第一頁面進行第三次寫入。經由上述之三次寫入,單階區塊SLC_1~SLC_3中之三個第一頁面的資料已被寫入特定三階區塊TLC_1中之一個第一頁面中,依此類推,直到特定單階區塊SLC_1~SLC_3中之所有頁面的資料皆被寫入特定三階區塊TLC_1為止。
如上所述,對三階區塊TLC_1~TLC_N進行寫入所需要的時間較長。因此,斷電事件較容易發生在對三階區塊TLC_1~TLC_N整理(寫入)的過程中。在一實施例中,每當一斷電事件發生在對三階區塊寫入的過程中時,控制器160就選取一個新的三階區塊,並且將原本要寫入原三階區塊之單階區塊中的資料,重新寫入新的三階區塊中。值得注意的是,控制器160可在資料儲存裝置140自斷電事件回復後,藉由快閃記憶體180或者其他記憶體裝置中的表,來判斷是否有三階區塊的寫入程序被斷電事件打斷。舉例而言,快閃記憶體180可具有一表用以紀錄某頁面或者某區塊開始被寫入,以及另一表用以紀錄某頁面或者某區塊已寫入完畢。在本實施例中,快閃記憶體180可藉由比較該兩個表,來判斷是否有寫入程序被打斷,但本發明不限於此。在其他實施例中,資料儲存裝置140亦可藉由一個表、多個表或者旗標,來記錄資料寫入的狀況。另外,在本發明中,只要已開始寫入程序之三階區塊中之任一頁面沒有被寫完,該三階區塊之寫入程序即沒有完成。
在某些情況下,例如資料儲存裝置140之製造過程或者測試過程中,資料儲存裝置140容易連續地遭受斷電攻擊。因此,上述的方法會導致控制器160連續地選擇新的區塊以及無法完成目前的寫入程序,造成三階區塊以及控制器160資源的浪費。
有鑑於此,在本發明之一實施例中,控制器160在資料儲存裝置140自一斷電事件中回復時,檢查在斷電事件發生時是否存在未完成寫入程序之三階區塊。接著,控制器160 檢查未完成寫入程序之一第一三階區塊中最後一個進行寫入之一第一頁面中之資料是否可被成功讀取。值得注意的是,在本發明中,無法被成功讀取指的是無法藉由錯誤校正或者其他方式將儲存於頁面中之資料正確地讀出。反之,成功讀取指的是可藉由錯誤校正或者其他方式將儲存於頁面中之資料正確地讀出。另外,在本發明中所述之”未完成處理程序之三階區塊”,指的是已開始處理程序但尚未完成處理程序之三階區塊。值得注意的是,在一實施例中,檢查第一頁面中之資料是否可被成功讀取之步驟可被省略。當第一頁面之資料無法被成功讀取時,控制器160自三階區塊中選擇一第三三階區塊,以將原本要寫入第一三階區塊之資料全部寫入第二三階區塊。換言之,控制器160將原本要寫入至第一三階區塊之單階區塊中的資料,重新寫入第二三階區塊中。值得注意的是,控制器160係選擇三階區塊中除了第一三階區塊外,不具有有效資料之三階區塊以作為第三三階區塊,但本發明不限於此。在其他實施例中,控制器160亦可根據抹除次數、寫入次數或者其他參考值,來選擇新的三階區塊。當第一頁面之資料可被成功讀取時,控制器160檢查一第一頁面的一第一編號是否大於一既定臨界值,其中第一頁面是第一三階區塊中最後一個進行寫入之頁面。在一實施例中,控制器亦可檢查用以控制第一頁面之第一字元線的編號是否大於一個值,以判斷第一頁面的第一編號是否大於既定臨界值。
當第一頁面的第一編號小於既定臨界值時,控制器160自三階區塊TLC_1~TLC_N中選擇一第二三階區塊,以將 原本要寫入第一三階區塊之資料全部寫入第二三階區塊。換言之,控制器160將原本要寫入至第一三階區塊之單階區塊中的資料,重新寫入第二三階區塊中。值得注意的是,控制器160係選擇三階區塊中除了第一三階區塊外,不具有有效資料之三階區塊以作為第三三階區塊,但本發明不限於此。在其他實施例中,控制器160亦可根據抹除次數、寫入次數或者其他參考值,來選擇新的三階區塊。
當第一頁面的第一編號大於既定臨界值時,控制器160停止將資料寫入第一三階區塊並且將第一三階區塊關閉。在一實施例中,控制器160係用以將一虛擬資料(Dummy Data)寫入第一三階區塊中除了至少一特定頁面外之其他頁面,以關閉第一三階區塊。詳細而言,特定頁面是編號為X~Y之至少一頁面,其中Y為第一頁面之第一編號減去一第一既定值。另外,編號為X~Y之頁面外原本具有有效資料的頁面,會在下一個寫入程序中被寫入另一個三階區塊。在一實施例中,第一既定值為4,但本發明不限於此。電路設計者可根據每個廠商所製造之不同快閃記憶體中三階區塊之特性來決定第一既定值。接著,在一實施例中,在第一三階區塊被關閉後,控制器160更用以檢查第一三階區塊中之所有具有有效資料的頁面之複數錯誤位元數使否超過一第二既定值。當第一三階區塊中之任一頁面的錯誤位元數大於第二既定值時,控制器160自三階區塊TLC_1~TLC_N中選擇一第二三階區塊,以將原本要寫入第一三階區塊之資料全部寫入第二三階區塊。值得注意的是,上述之第二既定值係由電路設計者所決定或者特殊規格所 制定的值,其中電路設計者可根據其電路對於錯誤位元的校正能力來決定第二既定值。舉例而言,當資料的錯誤位元大於50則無法被成功校正時,電路設計者可將第二既定值設定為45~50之間的值,但本發明不限於此。換言之,第二既定值為用以判斷資料是否可能在未來或者現在無法被成功校正的臨界值。
另外,當三階區塊寫入的過程中並未發生斷電事件時,控制器160在完成三階區塊的寫入程序後,接著處理其他工作,並且省略檢查所寫入之三階區塊中之所有頁面之錯誤位元數的步驟。換言之,當開始一第一三階區塊的寫入過程至第一三階區塊已被寫完的過程中皆未發生斷電事件時,控制器160則不會檢查第一三階區塊中之所有頁面的錯誤位元是否超過一第二既定值。
值得注意的是,當空白之三階區塊太少時,控制器160會進行垃圾處理程序(Garbage Collection),以藉由搬移資料將區塊中被無效資料佔用之記憶體空間釋放。若既定臨界值的數值設計得越小,表示三階區塊會具有越多的無效資料。若既定臨界值的數值設計得越大,表示三階區塊會具有越少的無效資料。具有較多無效資料的三階區塊容易在垃圾處理程序中被選為處理的對象。因此,太小的既定臨界值會造成三階區塊的資料搬移,而損壞三階區塊。然而,太大的既定臨界值會使得未被損壞之三階區塊無法在斷電事件後被留下來,造成區塊的浪費。因此,在一實施例中,當每一三階區塊TLC_1~TLC_N具有一第二既定數量之頁面時,既定臨界值則 為第二既定數量之二分之一至三分之一之間的值。舉例而言,當每一三階區塊TLC_1~TLC_N具有258個(第二既定數量)頁面時,既定臨界值則可為86~129之間之任一數值,例如86、87、91、93等等。在另一實施例中,既定臨界值為第二既定數量之三分之一。
舉例而言,如第4圖所示,控制器160要將單階區塊SLC_1~SLC_3中之資料,寫入/整理(program)至三階區塊TLC_4。在本實施例中,三階區塊TLC_4具有依序自1開始編碼的10個頁面。假設資料Data_1~Data_7皆被寫入頁面P1~P7中,並且一斷電事件發生在控制器160將資料Data_7寫入三階區塊TLC_4中之頁面P7時。在本實施例中,控制器160則會在資料儲存裝置140自斷電事件中回復時,檢查到斷電事件發生在三階區塊TLC_4的寫入過程中。換言之,控制器160判斷有三階區塊未完成寫入程序。接著,控制器160檢查三階區塊TLC_4中最後一個進行寫入之頁面P7中之資料是否可被成功讀取。
當頁面P7之資料無法被成功讀取時,控制器160自三階區塊TLC_1~TLC_3、TLC_5~TLC_N中選擇一空白之三階區塊,以將原本要寫入三階區塊TLC_4之資料全部寫入所選取之另一三階區塊。當頁面P7之資料可被成功讀取時,控制器160檢查頁面P7的編號是否大於一既定臨界值。在本實施例中,頁面P7的編號為7,並且既定臨界值為4。由於在本實施例中,頁面P7的編號大於既定臨界值。因此,控制器160停止將資料寫入三階區塊TLC_4並且將三階區塊TLC_4關閉。在一實施例中,控制器160係用以將一虛擬資料(Dummy Data)寫入三階區 塊TLC_4中除了至少一特定頁面外之其他頁面,以關閉三階區塊TLC_4,其中虛擬資料可唯一既定之無意義的資料或者隨機產生之無意義的資料。詳細而言,特定頁面是編號為1~Y之至少一頁面,在本實施例中Y為頁面P7的編號為7減去一第一既定值”3”。因此,特定頁面為P1~P4,而控制器160係將虛擬資料(Dummy Data)寫入三階區塊TLC_4中頁面P5~P10中。在三階區塊TLC_4被關閉後,控制器160更用以檢查三階區塊TLC_4中之所有具有有效資料的頁面P1~P4之錯誤位元數使否超過一第二既定值。當三階區塊TLC_4之頁面P1~P4中之任一頁面的錯誤位元數大於第二既定值時,控制器160自三階區塊TLC_1~TLC_N中選擇另一三階區塊,以將原本要寫入三階區塊TLC_4之資料全部寫入另一三階區塊。值得注意的是,在本實施例中,在三階區塊TLC_4被關閉後,原本具有有效資料之Data_5~Data_7會在下一個寫入程序中被寫入下一個三階區塊中。
在另一實施例中,假設既定臨界值為8,而頁面P7的編號”7”小於既定臨界值”8”時,控制器160自三階區塊TLC_1~TLC_N中選擇空白之另一三階區塊(例如,三階區塊TL_5),以將原本要寫入三階區塊TLC_4之資料全部寫入三階區塊TLC_5。換言之,控制器160將單階區塊SLC_1~SLC3中的資料,重新寫入三階區塊TLC_5中。
第5圖係本發明之一種實施例之資料寫入方法之流程圖。資料寫入方法適用於第1圖所示之資料儲存裝置140。流程開始於步驟S500。
在步驟S500中,資料儲存裝置140自一斷電事件中回復。值得注意的是,本發明所指之斷電事件包括資料儲存裝置140預期地或者非預期地被切斷電源,但本發明不限於此。在其他實施例中,斷電事件可僅包括資料儲存裝置140非預期地被切斷電源。
接著,在步驟S502中,控制器160檢查在斷電事件發生時快閃記憶體180是否存在未完成寫入程序之三階區塊。當控制器160判斷在斷電事件發生時有未完成寫入程序之一第一三階區塊時,流程進行至步驟S506。當控制器160判斷在斷電事件發生時沒有未完成寫入程序之三階區塊時,流程結束於步驟S502。
在步驟S506中,控制器160檢查一第一頁面的一第一編號是否大於一既定臨界值,其中第一頁面是相應於第一三階區塊中最後一個進行寫入之頁面。在一實施例中,當每一三階區塊TLC_1~TLC_N具有一第二既定數量之頁面時,既定臨界值則為第二既定數量之二分之一至三分之一之間的值。舉例而言,當每一三階區塊TLC_1~TLC_N具有258個(第二既定數量)的頁面時,既定臨界值則可為86~129之間之任一數值,例如86、87、91、93等等。在另一實施例中,既定臨界值為第二既定數量之三分之一。當第一頁面的第一編號大於一既定臨界值時,流程進行至步驟S508。當第一頁面的第一編號小於一既定臨界值時,流程進行至步驟S512。
在步驟S508中,控制器160不會放棄原本的第一三階區塊,並且將第一三階區塊關閉。換言之,控制器160保留 第一三階區塊並且停止將資料繼續寫入第一三階區塊。在一實施例中,控制器160係用以將一虛擬資料(Dummy Data)寫入第一三階區塊中除了至少一特定頁面外之其他頁面,以關閉第一三階區塊。詳細而言,特定頁面之編號為X~Y,其中Y為第一頁面之第一編號減去一第一既定值。另外,編號為X~Y之頁面外原本具有有效資料的頁面,會在下一個寫入程序中被寫入至另一個三階區塊。流程結束於步驟S508。
在步驟S512中,控制器160自三階區塊中選擇一新的三階區塊,以取代受損之第一三階區塊。值得注意的是,控制器160係選擇三階區塊中除了第一三階區塊外,不具有有效資料之三階區塊以作為新的三階區塊,但本發明不限於此。在其他實施例中,控制器160亦可根據抹除次數、寫入次數或者其他參考值,來選擇新的三階區塊。
接著,在步驟S514中,控制器160將原本要寫入第一三階區塊之資料全部寫入新的三階區塊。換言之,控制器160將原本要寫入至第一三階區塊之單階區塊中的資料,重新寫入新的三階區塊中。換言之,控制器160將原本要寫入第一三階區塊之單階區塊中之資料,重新寫入第三三階區塊中。流程結束於步驟S514。
第6圖係本發明之一種實施例之資料寫入方法之流程圖。資料寫入方法適用於第1圖所示之資料儲存裝置140。流程開始於步驟S600。其中,步驟S600、S602、S606、S608、S612、S614依序相似於第5圖之S500、S502、S506、S508、S512、S514,故其說明可參考第5圖,在此不再贅述。
在步驟S604中,控制器160檢查未完成寫入程序之第一三階區塊中最後一個進行寫入之一第一頁面中之資料是否可被成功讀取。當第一三階區塊中第一頁面中之資料可被成功讀取時,流程進行至步驟S606。當第一三階區塊中第一頁面中之資料無法被成功讀取時,流程進行至步驟S612。值得注意的是,在本發明中,無法被成功讀取指的是無法藉由錯誤校正或者其他方式將儲存於頁面中之資料正確地讀出。反之,成功讀取指的是可藉由錯誤校正或者其他方式將儲存於頁面中之資料正確地讀出。
在步驟S610中,控制器160檢查第一三階區塊中之所有具有有效資料的頁面之複數錯誤位元數是否超過一第二既定值。當第一三階區塊中之任一頁面的錯誤位元數大於第二既定值時,流程進行至步驟S616;否則,流程結束於步驟S614。
如上所述,本發明所提供之資料儲存裝置140以及資料寫入方法可藉由繼續使用遭受斷電攻擊之三階區塊,來避免三階區塊的浪費並且減少三階區塊的抹除次數。再者,本發明所提供之資料儲存裝置140以及資料寫入方法可藉由將無效資料填入可能受損或者未被寫入之頁面中,以達到保護資料的效果。另外,本發明所提供之資料儲存裝置140以及資料寫入方法可藉由省略未被斷電攻擊之三階區塊的檢查,來增進資料儲存裝置140之效能。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦 或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,摘要部分和標題僅是用來輔助專利文件搜尋之用,並非用來限制本發明之權利範圍。

Claims (20)

  1. 一種資料儲存裝置,包括:一快閃記憶體,具有複數三階區塊,其中每一該等三階區塊具有依序自X開始編號之複數頁面;以及一控制器,在該資料儲存裝置自一斷電事件中回復時,檢查一第一頁面的一第一編號是否大於一既定臨界值,並且當該第一頁面的該第一編號大於該既定臨界值時,停止將資料寫入一第一三階區塊,其中該第一三階區塊是在該斷電事件發生時未完成寫入程序之區塊,並且該第一頁面是該第一三階區塊中最後一個進行寫入之頁面;其中該等三階區塊為三階儲存單元所構成。
  2. 根據申請專利範圍第1項之資料儲存裝置,其中該快閃記憶體具有複數單階區塊,並且該等單階區塊具有複數頁面,其中該第一三階區塊之寫入程序係將一第一既定數量之該等單階區塊中之資料,寫入(program)至該等三階區塊中之一者。
  3. 根據申請專利範圍第1項之資料儲存裝置,其中每一該等三階區塊具有一第二既定數量之該等頁面,並且該既定臨界值為該第二既定數量之二分之一至三分之一之間的值。
  4. 根據申請專利範圍第1項之資料儲存裝置,其中該控制器更用以將一虛擬資料(Dummy Data)寫入該第一三階區塊中除了至少一特定頁面外之其他該頁面,以關閉該第一三階區塊。
  5. 根據申請專利範圍第4項之資料儲存裝置,其中該特定頁面 編號為X~Y,並且Y為該第一頁面之該第一編號減去一第一既定值;其中X和Y為自然數。
  6. 根據申請專利範圍第4項之資料儲存裝置,其中在該第一三階區塊被關閉後,該控制器檢查該第一三階區塊中之所有該等頁面之複數錯誤位元數是否超過一第二既定值。
  7. 根據申請專利範圍第6項之資料儲存裝置,其中當該第一三階區塊中之任一該等頁面的該錯誤位元數大於該第二既定值時,該控制器自該等三階區塊中選擇一第二三階區塊,以將原本要寫入該第一三階區塊之資料全部寫入該第二三階區塊。
  8. 根據申請專利範圍第6項之資料儲存裝置,其中當對該第二三階區塊寫入的過程中皆未發生斷電事件時,該控制器在完成該第二三階區塊的寫入程序後,接著處理其他工作,並且省略檢查該第二三階區塊中之所有該等頁面之錯誤位元數的步驟。
  9. 根據申請專利範圍第1項之資料儲存裝置,其中當該第一頁面的該第一編號小於該既定臨界值時,該控制器自該等三階區塊中選擇一第二三階區塊,以將原本要寫入該第一三階區塊之資料全部寫入該第二三階區塊。
  10. 根據申請專利範圍第1項之資料儲存裝置,其中在檢查該第一頁面的該第一編號是否大於該既定臨界值之前,該控制器更檢查在該第一頁面是否可被成功讀取,並且當該斷電事件發生時該第一三階區塊中最後一個進行寫入之該第一 頁面可被成功讀取時,才進行檢查該第一頁面的該第一編號是否大於該既定臨界值的動作。
  11. 一種資料寫入方法,適用於一資料儲存裝置,其中該資料儲存裝置包括具有複數三階區塊之一快閃記憶體,每一該等三階區塊具有依序自X開始編號之複數頁面,該資料寫入方法包括:當該資料儲存裝置自一斷電事件中回復時,檢查在該斷電事件發生時是否存在未完成寫入程序之該等三階區塊;當在該斷電事件發生時有一第一三階區塊未完成寫入程序時,檢查一第一頁面的一第一編號是否大於一既定臨界值;以及當該第一頁面的該第一編號大於該既定臨界值時,停止將資料寫入該第一三階區塊,其中該第一三階區塊是在該斷電事件發生時未完成寫入程序之區塊,並且該第一頁面是該第一三階區塊中最後一個進行寫入之頁面;其中該等三階區塊為三階儲存單元所構成。
  12. 根據申請專利範圍第11項之資料寫入方法,其中該快閃記憶體更具有複數單階區塊,並且該等第一三階區塊之寫入程序係將一第一既定數量之該等單階區塊中之資料,寫入(program)至該等三階區塊中之一者。
  13. 根據申請專利範圍第11項之資料寫入方法,其中每一該等三階區塊具有一第二既定數量之該等頁面,並且該既定臨界值為該第二既定數量之二分之一至三分之一之間的值。
  14. 根據申請專利範圍第11項之資料寫入方法,其中當該第一 頁面的該第一編號大於該既定臨界值時,該資料寫入方法更包括將一虛擬資料(Dummy Data)寫入該第一三階區塊中除了至少一特定頁面外之其他該頁面以關閉該第一三階區塊。
  15. 根據申請專利範圍第14項之資料寫入方法,其中該特定頁面為編號為X~Y之至少一該頁面,Y為該第一頁面之該第一編號減去一第一既定值;其中X和Y為自然數。
  16. 根據申請專利範圍第14項之資料寫入方法,更包括在該第一三階區塊被關閉後,檢查該第一三階區塊中之所有該等頁面之複數錯誤位元數是否超過一第二既定值。
  17. 根據申請專利範圍第16項之資料寫入方法,更包括:當該第一三階區塊中之任一該等頁面的該錯誤位元數大於該第二既定值時,自該等三階區塊中選擇一第二三階區塊;以及將原本要寫入該第一三階區塊之資料全部寫入該第二三階區塊。
  18. 根據申請專利範圍第16項之資料寫入方法,更包括當對該第二三階區塊寫入的過程中皆未發生斷電事件時,在完成該第二三階區塊的寫入程序後,接著處理其他工作,並且省略檢查該第二三階區塊中之所有該等頁面之錯誤位元數的步驟。
  19. 根據申請專利範圍第11項之資料寫入方法,更包括當該第一頁面的該第一編號小於該既定臨界值時,自該等三階區 塊中選擇一第二三階區塊,以將原本要寫入該第一三階區塊之資料全部寫入該第二三階區塊。
  20. 根據申請專利範圍第11項之資料寫入方法,更包括:在上述檢查該第一頁面的該第一編號是否大於該既定臨界值之前,檢查在該斷電事件發生時該第一三階區塊中最後一個進行寫入之該第一頁面是否可被成功讀取;以及當該斷電事件發生時該第一三階區塊中最後一個進行寫入之該第一頁面可被成功讀取時,才進行上述檢查該第一頁面的該第一編號是否大於該既定臨界值的動作。
TW105134401A 2016-10-25 2016-10-25 資料儲存裝置及其資料寫入方法 TWI621129B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW105134401A TWI621129B (zh) 2016-10-25 2016-10-25 資料儲存裝置及其資料寫入方法
CN201611028558.6A CN107977161B (zh) 2016-10-25 2016-11-22 数据储存装置及其数据写入方法
US15/659,216 US10096357B2 (en) 2016-10-25 2017-07-25 Data storage device and data writing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105134401A TWI621129B (zh) 2016-10-25 2016-10-25 資料儲存裝置及其資料寫入方法

Publications (2)

Publication Number Publication Date
TWI621129B true TWI621129B (zh) 2018-04-11
TW201816787A TW201816787A (zh) 2018-05-01

Family

ID=61969931

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105134401A TWI621129B (zh) 2016-10-25 2016-10-25 資料儲存裝置及其資料寫入方法

Country Status (3)

Country Link
US (1) US10096357B2 (zh)
CN (1) CN107977161B (zh)
TW (1) TWI621129B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI704450B (zh) * 2019-07-23 2020-09-11 慧榮科技股份有限公司 瞬間斷電回復處理方法及電腦程式產品以及裝置
US10871924B1 (en) 2019-07-23 2020-12-22 Silicon Motion, Inc. Method and computer program product and apparatus for handling sudden power off recovery
US11347592B2 (en) 2019-07-23 2022-05-31 Silicon Motion, Inc. Method and computer program product and apparatus for handling sudden power off recovery

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
CN108877856B (zh) 2017-05-10 2021-02-19 慧荣科技股份有限公司 储存装置、记录方法以及预载方法
CN108877858B (zh) * 2017-05-10 2021-02-19 慧荣科技股份有限公司 储存装置以及刷新方法
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system
CN111324292A (zh) * 2018-12-14 2020-06-23 衡宇科技股份有限公司 非易失性存储器的存储器回收方法
CN109992443B (zh) * 2019-03-06 2023-03-10 珠海妙存科技有限公司 一种nand闪存数据检查方法
KR20200113992A (ko) * 2019-03-27 2020-10-07 에스케이하이닉스 주식회사 메모리 시스템의 복구 동작 중 비휘발성 메모리 오픈 블록의 셀 디스터브를 줄이는 방법 및 장치
CN111949202A (zh) * 2019-05-17 2020-11-17 北京兆易创新科技股份有限公司 一种存储器及其控制方法和控制装置
CN112015339B (zh) * 2020-08-20 2024-03-22 合肥康芯威存储技术有限公司 一种存储器的数据保存系统,保存方法及存储系统
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
CN114816223A (zh) * 2021-01-27 2022-07-29 建兴储存科技股份有限公司 运用于固态存储装置的相关控制方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307646A1 (en) * 2008-06-13 2011-12-15 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US20130145085A1 (en) * 2008-06-18 2013-06-06 Super Talent Technology Corp. Virtual Memory Device (VMD) Application/Driver with Dual-Level Interception for Data-Type Splitting, Meta-Page Grouping, and Diversion of Temp Files to Ramdisks for Enhanced Flash Endurance
US20140006688A1 (en) * 2012-07-02 2014-01-02 Super Talent Technology, Corp. Endurance and Retention Flash Controller with Programmable Binary-Levels-Per-Cell Bits Identifying Pages or Blocks as having Triple, Multi, or Single-Level Flash-Memory Cells
US20140281151A1 (en) * 2013-03-15 2014-09-18 Super Talent Technology, Corp. Green NAND Device (GND) Driver with DRAM Data Persistence For Enhanced Flash Endurance and Performance
US20150106557A1 (en) * 2008-06-18 2015-04-16 Super Talent Technology Corp. Virtual Memory Device (VMD) Application/Driver for Enhanced Flash Endurance
US20150109859A1 (en) * 2013-10-18 2015-04-23 Lite-On It Corporation Electronic device with solid state drive and associated control method
US20160070474A1 (en) * 2008-06-18 2016-03-10 Super Talent Technology Corp. Data-Retention Controller/Driver for Stand-Alone or Hosted Card Reader, Solid-State-Drive (SSD), or Super-Enhanced-Endurance SSD (SEED)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090042039A (ko) * 2007-10-25 2009-04-29 삼성전자주식회사 불휘발성 메모리 장치의 데이터 관리 방법
TWI479493B (zh) 2011-04-25 2015-04-01 Silicon Motion Inc 快閃記憶裝置及其斷電處理方法
TWI470432B (zh) 2011-11-21 2015-01-21 Mstar Semiconductor Inc 電子系統及其快閃記憶體管理方法
US9164887B2 (en) * 2011-12-05 2015-10-20 Industrial Technology Research Institute Power-failure recovery device and method for flash memory
CN103514103B (zh) * 2012-06-21 2016-09-28 群联电子股份有限公司 数据保护方法、存储器控制器与存储器储存装置
CN103176752A (zh) 2012-07-02 2013-06-26 晶天电子(深圳)有限公司 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器
CN103811066B (zh) * 2012-11-15 2016-12-21 北京兆易创新科技股份有限公司 非易失存储器的擦除方法及系统
US9405621B2 (en) * 2012-12-28 2016-08-02 Super Talent Technology, Corp. Green eMMC device (GeD) controller with DRAM data persistence, data-type splitting, meta-page grouping, and diversion of temp files for enhanced flash endurance
TWI525635B (zh) * 2013-12-17 2016-03-11 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
CN105630707A (zh) * 2015-11-16 2016-06-01 上海磁宇信息科技有限公司 具有断电保护功能的存储设备、断电保护方法及计算系统
US9996268B2 (en) * 2015-12-18 2018-06-12 Toshiba Memory Corporation Memory system and control method of the same

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307646A1 (en) * 2008-06-13 2011-12-15 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US20130145085A1 (en) * 2008-06-18 2013-06-06 Super Talent Technology Corp. Virtual Memory Device (VMD) Application/Driver with Dual-Level Interception for Data-Type Splitting, Meta-Page Grouping, and Diversion of Temp Files to Ramdisks for Enhanced Flash Endurance
US20150106557A1 (en) * 2008-06-18 2015-04-16 Super Talent Technology Corp. Virtual Memory Device (VMD) Application/Driver for Enhanced Flash Endurance
US20160070474A1 (en) * 2008-06-18 2016-03-10 Super Talent Technology Corp. Data-Retention Controller/Driver for Stand-Alone or Hosted Card Reader, Solid-State-Drive (SSD), or Super-Enhanced-Endurance SSD (SEED)
US20140006688A1 (en) * 2012-07-02 2014-01-02 Super Talent Technology, Corp. Endurance and Retention Flash Controller with Programmable Binary-Levels-Per-Cell Bits Identifying Pages or Blocks as having Triple, Multi, or Single-Level Flash-Memory Cells
US20140281151A1 (en) * 2013-03-15 2014-09-18 Super Talent Technology, Corp. Green NAND Device (GND) Driver with DRAM Data Persistence For Enhanced Flash Endurance and Performance
US20160054942A1 (en) * 2013-03-15 2016-02-25 Super Talent Technology, Corp. Green NAND Device (GND) Driver with DRAM Data Persistence For Enhanced Flash Endurance and Performance
US20150109859A1 (en) * 2013-10-18 2015-04-23 Lite-On It Corporation Electronic device with solid state drive and associated control method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI704450B (zh) * 2019-07-23 2020-09-11 慧榮科技股份有限公司 瞬間斷電回復處理方法及電腦程式產品以及裝置
US10871924B1 (en) 2019-07-23 2020-12-22 Silicon Motion, Inc. Method and computer program product and apparatus for handling sudden power off recovery
US11347592B2 (en) 2019-07-23 2022-05-31 Silicon Motion, Inc. Method and computer program product and apparatus for handling sudden power off recovery

Also Published As

Publication number Publication date
CN107977161B (zh) 2020-01-24
TW201816787A (zh) 2018-05-01
US20180114570A1 (en) 2018-04-26
CN107977161A (zh) 2018-05-01
US10096357B2 (en) 2018-10-09

Similar Documents

Publication Publication Date Title
TWI621129B (zh) 資料儲存裝置及其資料寫入方法
TWI607312B (zh) 資料儲存裝置及其資料寫入方法
TWI569273B (zh) 非揮發性記憶體裝置讀取干擾管理方法
TWI677879B (zh) 資料儲存裝置與資料處理方法
TWI555023B (zh) 快閃記憶體更新方法以及快閃記憶體控制器
CN106708754B (zh) 数据储存装置及其数据维护方法
TWI645290B (zh) 資料儲存裝置及其資料寫入方法
TWI389122B (zh) 用來存取一快閃記憶體之方法以及相關之記憶裝置及其控制器
TWI569144B (zh) 資料儲存裝置及其斷電事件判斷方法
CN110554844B (zh) 数据储存装置及数据维护方法
CN108958961B (zh) 数据储存装置以及数据错误管理方法
TWI626541B (zh) 將資料寫入至快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
TWI608350B (zh) 儲存裝置及其控制單元、可用於儲存裝置的資料搬移方 法
TWI539282B (zh) 非揮發性儲存裝置與控制器
CN108154900B (zh) 一种缓解mlc闪存写干扰问题的方法
TWI655640B (zh) 資料儲存裝置與資料處理方法
CN114765047A (zh) 非易失性存储器装置中的软读取阈值估计的高斯建模
TWI640868B (zh) 資料儲存裝置及其資料寫入方法
US20210374294A1 (en) Data storage device and data processing method
TWI662554B (zh) 儲存裝置及其控制單元、可用於儲存裝置的資料搬移方法
TWI544490B (zh) 資料儲存裝置及其資料維護方法
TWI639946B (zh) 資料儲存裝置及其資料維護方法
TWI592801B (zh) 資料儲存裝置及其資料維護方法
Handy How Controllers Maximize SSD Life
TW201740276A (zh) 儲存裝置及其控制單元、可用於儲存裝置的資料搬移方法