TWI571742B - 資料儲存裝置及資料維護方法 - Google Patents
資料儲存裝置及資料維護方法 Download PDFInfo
- Publication number
- TWI571742B TWI571742B TW104132975A TW104132975A TWI571742B TW I571742 B TWI571742 B TW I571742B TW 104132975 A TW104132975 A TW 104132975A TW 104132975 A TW104132975 A TW 104132975A TW I571742 B TWI571742 B TW I571742B
- Authority
- TW
- Taiwan
- Prior art keywords
- page
- read
- data
- controller
- pages
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
- G11C16/28—Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/816—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
- G11C29/82—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
本發明係關於一種記憶體裝置之資料維護方法;特別係關於讀取資料之資料維護方法。
快閃記憶體為一種普遍的非揮發性資料儲存裝置,係以電性方式抹除與程式化。以非及閘型的快閃記憶體(即NAND FLASH)為例,常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)、嵌入式快閃記憶體模組(eMMC)…等使用。
快閃記憶體(如,NAND FLASH)的儲存陣列包括複數個區塊(blocks),其中浮置閘極電晶體可用以構成快閃記憶體。浮置閘極電晶體中之浮置閘極,可捕捉的電荷以儲存資料。然而,儲存於浮置閘極之電荷會由於快閃記憶體之操作以及各種環境參數,自浮置閘極流失,造成資料保存(Data retention)之問題。
本發明所提供之資料儲存裝置以及資料維護方法,可藉由將無效資料寫入未關閉之字元線的其他頁面,使得減少為關閉之字元線所控制之頁面的錯誤位元數。
本發明提供一種資料儲存裝置。資料儲存裝置包括一快閃記憶體以及一控制器。快閃記憶體包括複數頁面以及
複數字元線,其中每一字元線用以控制至少兩個頁面。控制器用以根據一讀取命令對頁面中之一第一頁面進行讀取,並且當字元線中用以控制第一頁面之一第一字元線沒有關閉時,將一無效資料(dummy data)寫入第一字元線所控制之其他頁面。其中,控制器更用以在將無效資料寫入第一字元線所控制之其他頁面後,重新對第一頁面進行讀取。控制器更用以在第一頁面被成功讀取後響應於讀取命令將所讀取之第一頁面的資料傳送至一主機。
在一實施例中,控制器係當第一頁面無法被成功讀取時,才進行將無效資料寫入第一字元線所控制之其他頁面的步驟。
另外,控制器更用以根據一重複讀取表中之複數讀取電壓對第一頁面進行讀取,並且在讀取電壓皆無法成功讀取第一頁面時才進行將無效資料寫入第一字元線所控制之其他頁面的步驟。
本發明亦提供一種資料維護方法,適用於具有一快閃記憶體之一資料儲存裝置,其中快閃記憶體包括複數頁面以及複數字元線,每一字元線用以控制至少兩個頁面。資料維護方法包括:接收一讀取命令,其中讀取命令指示對頁面中之一第一頁面進行讀取;以及當字元線中用以控制第一頁面之一第一字元線沒有關閉時,將一無效資料(dummy data)寫入第一字元線所控制之其他頁面。資料維護方法更包括在將無效資料寫入第一字元線所控制之其他頁面後,重新對第一頁面進行讀取;以及在第一頁面被成功讀取後響應於讀取命令將所讀取之
第一頁面的資料傳送至一主機。
在一實施例中當第一頁面無法被成功讀取時,才進行將無效資料寫入第一字元線所控制之其他頁面的步驟。
又另一實施例中,資料維護方法更包括根據一重複讀取表中之複數讀取電壓對第一頁面進行讀取,並且在讀取電壓皆無法成功讀取第一頁面時才進行將無效資料寫入第一字元線所控制之其他頁面的步驟。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
180‧‧‧快閃記憶體
W0~WN‧‧‧字元線
P0~PM‧‧‧頁面
B0~BN‧‧‧區塊
LSB‧‧‧強頁面
CSB‧‧‧中頁面
MSB‧‧‧弱頁面
S400~S416、S500~S528‧‧‧步驟
第1圖係本發明之一種實施例之電子系統之方塊圖。
第2圖係本發明之一種實施例之快閃記憶體的示意圖。
第3圖係本發明之另一種實施例之快閃記憶體的示意圖。
第4圖係本發明之一種實施例之資料維護方法之流程圖。
第5A~5C圖係本發明之另一種實施例之資料維護方法之流程圖。
以下將詳細討論本發明各種實施例之裝置及使用方法。然而值得注意的是,本發明所提供之許多可行的發明概念可實施在各種特定範圍中。這些特定實施例僅用於舉例說明本發明之裝置及使用方法,但非用於限定本發明之範圍。
第1圖係本發明之一種實施例之電子系統之方塊圖。電子系統100包括一主機120以及一資料儲存裝置140。資料儲存裝置140包括一快閃記憶體180以及一控制器160,且可根據主機120所下達的命令操作。
控制器160包括一運算單元162以及一永久記憶體(如,唯讀記憶體ROM)164。永久記憶體164與所載之程式碼、資料組成韌體(firmware),由運算單元162執行,使控制器160基於該韌體控制該快閃記憶體180。另外,運算單元162更包括一錯誤校正引擎(未圖示)。錯誤校正引擎係用以在資料發生錯誤時,對所讀取之資料進行錯誤校正(Error Correction;ECC),本發明不限於此。值得注意的是,在本發明之一實施例中,永久記憶體164包括一軟體或者韌體用以致使運算單元162對要被存入頁面之使用者資料進行編碼,以產生使用者資料之校驗碼(Parity)。另外,在本發明中,永久記憶體164包括之軟體或者韌體更用以致使運算單元162對某些頁面之使用者資料的校驗碼進行編碼,以產生相應於校驗碼資料的校驗碼。當所讀取之資料具有錯誤位元時,控制器160可藉由校驗碼(Parity)對所儲存之資料進行錯誤校正,以成功讀取所儲存之資料。另外,控制器160可根據一重複讀取表對頁面進行重複讀取。詳細而言,重複讀取表可儲存於快閃記憶體180或者永久記憶體164中,並且重複讀取表用以儲存不同之複數讀取電壓。當控制起160無法用初始讀取電壓成功讀取頁面時,控制器160可根據重複讀取表中所儲存之不同的讀取電壓對同一頁面進行重複讀取,以獲得正確的頁面資料。
快閃記憶體180包括複數區塊,每一區塊包括複數頁面。另外,快閃記憶體180更包括彼此相鄰的複數字元線與複數位元線,其中每一字元線用以控制至少一頁面,以選擇所欲讀取之頁面。舉例而言,當快閃記憶體180係為單階儲存單
元(Single-Level Cell,SLC)時,一條字元線用以控制一個頁面。當快閃記憶體180係為多階儲存單元(Multi-Level Cell,MLC)時,一條字元線用以控制一強頁面LSB(strong page)以及一弱頁面MSB(weak page),其中”LSB”為”Least Significant Bit”的縮寫,並且”MSB”為”Most Significant Bit”的縮寫。當快閃記憶體180係為三階儲存單元(Triple-Level Cell,TLC)時,一條字元線用以控制一強頁面LSB(strong page)、一中頁面CSB(middle page)以及一弱頁面MSB(weak page),其中”CSB”為”Central Significant Bit”的縮寫,但本發明不限於此。詳細而言,當快閃記憶體180係為多階儲存單元時,快閃記憶體180中由一條字元線所控制之一個頁面可被程式化(program)為一個強頁面LSB(strong page)以及一個弱頁面MSB(weak page)。當快閃記憶體180係為三階儲存單元時,快閃記憶體180中由一條字元線所控制之一個頁面可被程式化(program)為一個強頁面LSB(strong page)、一個中頁面CSB(middle page)以及一個弱頁面MSB(weak page)。
值得注意的是,當字元線沒有關閉(close)時,被未關閉之字元線所控制的頁面相較於關閉之字元線具有較高的錯誤位元。換言之,當被同一個字元線所控制之頁面僅有一個或者兩個被寫入資料並且有至少一個頁面沒被寫入資料時,具有資料的頁面則不穩定具有較高的錯誤位元。因此,本發明提供一種資料維護方法以及資料儲存裝置140用以關閉開啟之字元線以降低頁面之錯誤位元。
詳細而言,控制器160可根據一讀取命令對頁面中
之一第一頁面進行讀取。當字元線中用以控制第一頁面之一第一字元線沒有關閉時,控制器160將一無效資料(dummy data)寫入第一字元線所控制之其他頁面,其中無效資料可為一既定之無效資料或者隨機之資料,不具有任何意義。接著,控制器160更用以在將無效資料寫入第一字元線所控制之其他頁面後,重新對第一頁面進行讀取。在第一頁面被成功讀取後,控制器160響應於讀取命令將所讀取之第一頁面的資料傳送至一主機120。在一實施例中,控制器160係當第一頁面無法被成功讀取時,才進行將無效資料寫入第一字元線所控制之其他頁面的步驟。舉例而言,控制器160可在初始讀取電壓無法成功讀取第一頁面時,根據一重複讀取表中之複數讀取電壓對第一頁面進行重複讀取,並且在重複讀取表中之所有讀取電壓皆無法成功讀取第一頁面時才進行將無效資料寫入第一字元線所控制之其他頁面的步驟。
第2圖係本發明之一種實施例之快閃記憶體的示意圖。第2圖所示為多階儲存單元(Multi-Level Cell,MLC)之快閃記憶體180。在本實施例中,快閃記憶體180包括複數區塊B0~BN,並且每一區塊具有複數頁面P0~PM,其中頁面P0、P2、P4...PM-1為強頁面LSB,並且頁面P1、P3、P5...PM為弱頁面MSB。值得注意的是,被相同字元線所控制之頁面不一定具有連續之位址。舉例而言,資料依序地被寫入區塊B0之頁面P0~P4並且頁面P5~PM未被寫入資料(program)時,字元線W0~W1係關閉的,而字元線W2~WN為未關閉(開啟)的字元線。當控制器160根據讀取命令對在未關閉之字元線W2上之頁面P4進行讀
取並且頁面P4無法被成功讀取時,控制器160則用以將一無效資料(dummy data)寫入字元線W2所控制之其他頁面P5,以關閉字元線W2。在控制器160將無效資料寫入字元線W2所控制之頁面P5後,控制器160重新對字元線W2上之頁面P4進行讀取,並且當頁面P4被成功讀取時,控制器160將所讀取之資料回傳至主機120。在另一實施例中,在關閉字元線W2前當控制器160無法藉由初始讀取電壓成功讀取頁面P4時,控制器160可根據重複讀取表中之複數讀取電壓重複對頁面P4進行讀取。當重複讀取表中之複數讀取電壓皆無法成功讀取頁面P4後,控制器160才將無效資料寫入字元線W2所控制之其他頁面P5,以關閉字元線W2。在字元線W2關閉之後,控制器160會先根據初始讀取電壓對頁面P4進行讀取。當在字元線W2關閉後初始讀取電壓仍無法成功讀取頁面P4時,控制器160亦可再次根據重複讀取表中之複數讀取電壓重複對在已關閉之字元線W2上的頁面P4進行重複讀取。當控制器160成功讀取頁面P4時,控制器將所讀取之資料回傳給主機120。當控制器160根據重複讀取表中之讀取電壓皆無法成功讀取在已關閉之字元線W2上的頁面P4時,控制器160將頁面P4標記為壞頁(bad page)或者將頁面P4所屬之區塊B0標記為壞區塊(bad block)。在一實施例中,在無效資料被寫入區塊B0中之頁面P5後,控制器160則停止將資料寫入區塊B0。換言之,在無效資料被寫入區塊B0中之頁面P5後,雖然區塊B0中之頁面P6~PM不具有有效資料,但控制器160不會再選擇區塊B0以將資料寫入頁面P6~PM。
第3圖係本發明之另一種實施例之快閃記憶體的
示意圖。第3圖所示為三階儲存單元(Triple-Level Cell,TLC)之快閃記憶體180。在本實施例中,快閃記憶體180包括複數區塊B0~BN,並且每一區塊具有複數頁面P0~PM,其中頁面P0、P3、P6...PM-2為強頁面LSB,頁面P1、P4、P7...PM-1為中頁面CSB,並且頁面P2、P5、P8...PM為弱頁面MSB。同樣地,被相同字元線所控制之頁面不一定具有連續之位址。舉例而言,資料依序地被寫入區塊B0之頁面P0~P9並且頁面P10~PM未被寫入資料(program)時,字元線W0~W2係關閉的,而字元線W3~WN為未關閉(開啟)的字元線。當控制器160根據讀取命令對在未關閉之字元線W3上之頁面P9進行讀取並且頁面P9無法被成功讀取時,控制器160則用以將一無效資料(dummy data)寫入字元線W3所控制之其他頁面P10以及P11,以關閉字元線W3。在控制器160將無效資料寫入字元線W3所控制之頁面P10以及P11後,控制器160重新對字元線W3上之頁面P9進行讀取,並且當頁面P9被成功讀取時,控制器160將所讀取之資料回傳至主機120。在另一實施例中,在關閉字元線W3前當控制器160無法藉由初始讀取電壓成功讀取頁面P9時,控制器160可根據重複讀取表中之複數讀取電壓重複對頁面P9進行讀取。當重複讀取表中之複數讀取電壓皆無法成功讀取頁面P9後,控制器160才將無效資料寫入字元線W3所控制之其他頁面P10以及P11,以關閉字元線W3。在字元線W3關閉之後,控制器160會先根據初始讀取電壓對頁面P9進行讀取。當在字元線W3關閉後初始讀取電壓仍無法成功讀取頁面P9時,控制器160亦可再次根據重複讀取表中之複數讀取電壓重複對在已關閉之字元線W3上的
頁面P9進行重複讀取。當控制器160成功讀取頁面P9時,控制器將所讀取之資料回傳給主機120。當控制器160根據重複讀取表中之讀取電壓皆無法成功讀取在已關閉之字元線W3上的頁面P9時,控制器160將頁面P9標記為壞頁(bad page)或者將頁面P9所屬之區塊B0標記為壞區塊(bad block)。在一實施例中,在無效資料被寫入區塊B0中之頁面P10以及P11後,控制器160則停止將資料寫入區塊B0。換言之,在無效資料被寫入區塊B0中之頁面P10以及P11後,雖然區塊B0中之頁面P12~PM不具有有效資料,但控制器160不會再選擇區塊B0以將資料寫入頁面P12~PM。在另一實施例中,舉例而言,資料依序地被寫入區塊B0之頁面P0~P7並且頁面P8~PM未被寫入資料(program)時,字元線W0~W1係關閉的,而字元線W2~WN為未關閉(開啟)的字元線。當控制器160根據讀取命令對在未關閉之字元線W2上之頁面P6進行讀取並且頁面P6無法被成功讀取時,控制器160則用以將一無效資料(dummy data)寫入字元線W2所控制之其他頁面P8,以關閉字元線W2。在控制器160將無效資料寫入字元線W2所控制之頁面P8後,控制器160重新對字元線W2上之頁面P6進行讀取,並且當頁面P6被成功讀取時,控制器160將所讀取之資料回傳至主機120。在另一實施例中,在關閉字元線W2前當控制器160無法藉由初始讀取電壓成功讀取頁面P6時,控制器160可根據重複讀取表中之複數讀取電壓重複對頁面P6進行讀取。當重複讀取表中之複數讀取電壓皆無法成功讀取頁面P6後,控制器160才將無效資料寫入字元線W2所控制之其他頁面P6,以關閉字元線W2。在字元線W2關閉之後,控制
器160會先根據初始讀取電壓對頁面P6進行讀取。當在字元線W2關閉後初始讀取電壓仍無法成功讀取頁面P6時,控制器160亦可再次根據重複讀取表中之複數讀取電壓重複對在已關閉之字元線W2上的頁面P6進行重複讀取。當控制器160成功讀取頁面P6時,控制器將所讀取之資料回傳給主機120。當控制器160根據重複讀取表中之讀取電壓皆無法成功讀取在已關閉之字元線W2上的頁面P6時,控制器160將頁面P6標記為壞頁(bad page)或者將頁面P6所屬之區塊B0標記為壞區塊(bad block)。在一實施例中,在無效資料被寫入區塊B0中之P8後,控制器160則停止將資料寫入區塊B0。換言之,在無效資料被寫入區塊B0中之頁面P8後,雖然區塊B0中之頁面P9~PM不具有有效資料,但控制器160不會再選擇區塊B0以將資料寫入頁面P9~PM。
第4圖係本發明之一種實施例之資料維護方法之流程圖。資料維護方法,適用於第1圖所示之資料儲存裝置140。流程開始於步驟S400。
在步驟S400中,控制器160自主機120接收一讀取命令,其中讀取命令係用以對快閃記憶體180中之一第一頁面進行讀取之命令。
接著,在步驟S402中,控制器160根據讀取命令對第一頁面進行讀取。
接著,在步驟S404中,控制器160判斷第一頁面是否被成功讀取。換言之,控制器160判斷自第一頁面所讀取之資料是否具有錯誤位元以及自第一頁面所讀取具有錯誤位元之資料在經由校驗碼校正後是否仍然存在錯誤位元。當第一頁
面不具有錯誤位元時,控制器160判斷第一頁面被成功讀取。當第一頁面被成功讀取時,流程進行至步驟S416;否則,流程進行至步驟S406。
在步驟S406中,控制器160判斷控制第一頁面之一第一字元線是否關閉。當控制第一頁面之第一字元線關閉時,流程進行至步驟S414;否則,流程進行至步驟S408。
接著,在步驟S408中,控制器160將一無效資料(dummy data)寫入第一字元線所控制之其他頁面,以關閉第一字元線。
接著,在步驟S410中,控制器160重新讀取第一頁面。
接著,在步驟S412中,控制器160判斷第一頁面是否被成功讀取。換言之,控制器160判斷自第一頁面所讀取之資料是否具有錯誤位元以及自第一頁面所讀取具有錯誤位元之資料在經由校驗碼校正後是否仍然存在錯誤位元。當第一頁面不具有錯誤位元時,控制器160判斷第一頁面被成功讀取。當第一頁面被成功讀取時,流程進行至步驟S416;否則,流程進行至步驟S414。
在步驟S414中,控制器160將第一頁面標記為壞頁或者將第一頁面所屬之一第一區塊標記為壞區塊。在一實施例中,控制器160亦可捨棄第一頁面之資料並且將第一頁面所屬之區塊中之其他資料搬移至另一區塊。流程結束於步驟S414。
在步驟S416中,控制器160響應於在步驟S400中所接收之讀取命令將成功讀取之第一頁面的資料傳送至主機
120。流程結束於步驟S416。
第5圖係本發明之一種實施例之資料維護方法之流程圖。資料維護方法,適用於第1圖所示之資料儲存裝置140。流程開始於步驟S500。
在步驟S500中,控制器160自主機120接收一讀取命令,其中讀取命令係用以對快閃記憶體180中之一第一頁面進行讀取之命令。
接著,在步驟S502中,控制器160根據讀取命令,使用一初始讀取電壓對第一頁面進行讀取。
接著,在步驟S504中,控制器160判斷第一頁面是否被成功讀取。換言之,控制器160判斷自第一頁面所讀取之資料是否具有錯誤位元以及自第一頁面所讀取具有錯誤位元之資料在經由校驗碼校正後是否仍然存在錯誤位元。當第一頁面不具有錯誤位元時,控制器160判斷第一頁面被成功讀取。當第一頁面被成功讀取時,流程進行至步驟S528;否則,流程進行至步驟S506。
在步驟S506中,控制器160自重複讀取表中選取一讀取電壓,以設定一重複讀取電壓。
接著,在步驟S508中,控制器160使用所設定之重複讀取電壓對第一頁面進行讀取。
接著,在步驟S510中,控制器160判斷第一頁面是否被成功讀取。換言之,控制器160判斷自第一頁面所讀取之資料是否具有錯誤位元以及自第一頁面所讀取具有錯誤位元之資料在經由校驗碼校正後是否仍然存在錯誤位元。當第一頁
面不具有錯誤位元時,控制器160判斷第一頁面被成功讀取。當第一頁面被成功讀取時,流程進行至步驟S528;否則,流程進行至步驟S511。
在步驟S511中,控制器160判斷是否所有重複讀取表中之讀取電壓皆使用過以讀取第一頁面。當重複讀取表中之讀取電壓皆使用過時,流程進行至步驟S512;否則,流程回到步驟S506,控制器160繼續選取重複讀取標中之下一個數值以設定重複讀取電壓。
在步驟S512中,控制器160判斷控制第一頁面之一第一字元線是否關閉。當控制第一頁面之第一字元線關閉時,流程進行至步驟S526;否則,流程進行至步驟S514。
接著,在步驟S514中,控制器160將一無效資料(dummy data)寫入第一字元線所控制之其他頁面,以關閉第一字元線。
接著,在步驟S516中,控制器160使用初始讀取電壓重新讀取第一頁面。
接著,在步驟S518中,控制器160判斷第一頁面是否被成功讀取。換言之,控制器160判斷自第一頁面所讀取之資料是否具有錯誤位元以及自第一頁面所讀取具有錯誤位元之資料在經由校驗碼校正後是否仍然存在錯誤位元。當第一頁面不具有錯誤位元時,控制器160判斷第一頁面被成功讀取。當第一頁面被成功讀取時,流程進行至步驟S528;否則,流程進行至步驟S520。
在步驟S520中,控制器160自重複讀取表中選取一
讀取電壓,以設定一重複讀取電壓。
接著,在步驟S522中,控制器160使用所設定之重複讀取電壓對第一頁面進行讀取。
接著,在步驟S524中,控制器160判斷第一頁面是否被成功讀取。換言之,控制器160判斷自第一頁面所讀取之資料是否具有錯誤位元以及自第一頁面所讀取具有錯誤位元之資料在經由校驗碼校正後是否仍然存在錯誤位元。當第一頁面不具有錯誤位元時,控制器160判斷第一頁面被成功讀取。當第一頁面被成功讀取時,流程進行至步驟S528;否則,流程進行至步驟S525。
在步驟S525中,控制器160判斷是否所有重複讀取表中之讀取電壓皆使用過以讀取第一頁面。當重複讀取表中之讀取電壓皆使用過時,流程進行至步驟S526;否則,流程回到步驟S520,控制器160繼續選取重複讀取標中之下一個數值以設定重複讀取電壓。
在步驟S526中,控制器160將第一頁面標記為壞頁或者將第一頁面所屬之一第一區塊標記為壞區塊。在一實施例中,控制器160亦可捨棄第一頁面之資料並且將第一頁面所屬之區塊中之其他資料搬移至另一區塊。流程結束於步驟S526。
在步驟S528中,控制器160響應於在步驟S500中所接收之讀取命令將成功讀取之第一頁面的資料傳送至主機120。流程結束於步驟S528。
本發明所提供之資料儲存裝置140以及資料維護方法,可藉由關閉字元線減少頁面之錯誤位元數,以成功讀取
頁面中之資料。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,摘要部分和標題僅是用來輔助專利文件搜尋之用,並非用來限制本發明之權利範圍。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
180‧‧‧快閃記憶體
Claims (10)
- 一種資料儲存裝置,包括:一快閃記憶體,包括複數頁面以及複數字元線,其中每一字元線用以控制至少兩個上述頁面;以及一控制器,用以根據一讀取命令對上述頁面中之一第一頁面進行讀取,並且當上述字元線中用以控制上述第一頁面之一第一字元線沒有關閉時,將一無效資料(dummy data)寫入上述第一字元線所控制之其他上述頁面。
- 根據申請專利範圍第1項之資料儲存裝置,其中上述控制器係當上述第一頁面無法被成功讀取時,才進行將上述無效資料寫入上述第一字元線所控制之其他上述頁面的步驟。
- 根據申請專利範圍第2項之資料儲存裝置,其中上述控制器更用以在將上述無效資料寫入上述第一字元線所控制之其他上述頁面後,重新對上述第一頁面進行讀取。
- 根據申請專利範圍第3項之資料儲存裝置,其中上述控制器更用以在上述第一頁面被成功讀取後響應於上述讀取命令將所讀取之上述第一頁面的資料傳送至一主機。
- 根據申請專利範圍第2項之資料儲存裝置,其中上述控制器更用以根據一重複讀取表中之複數讀取電壓對上述第一頁面進行讀取,並且在上述讀取電壓皆無法成功讀取上述第一頁面時才進行將上述無效資料寫入上述第一字元線所控制之其他上述頁面的步驟。
- 一種資料維護方法,適用於具有一快閃記憶體之一資料儲存裝置,其中上述快閃記憶體包括複數頁面以及複數字元 線,每一字元線用以控制至少兩個上述頁面,上述資料維護方法包括:接收一讀取命令,其中上述讀取命令指示對上述頁面中之一第一頁面進行讀取;以及當上述字元線中用以控制上述第一頁面之一第一字元線沒有關閉時,將一無效資料(dummy data)寫入上述第一字元線所控制之其他上述頁面。
- 根據申請專利範圍第6項之資料維護方法,更包括當上述第一頁面無法被成功讀取時,才進行將上述無效資料寫入上述第一字元線所控制之其他上述頁面的步驟。
- 根據申請專利範圍第7項之資料維護方法,更包括在將上述無效資料寫入上述第一字元線所控制之其他上述頁面後,重新對上述第一頁面進行讀取。
- 根據申請專利範圍第8項之資料維護方法,更包括在上述第一頁面被成功讀取後響應於上述讀取命令將所讀取之上述第一頁面的資料傳送至一主機。
- 根據申請專利範圍第7項之資料維護方法,更包括根據一重複讀取表中之複數讀取電壓對上述第一頁面進行讀取,並且在上述讀取電壓皆無法成功讀取上述第一頁面時才進行將上述無效資料寫入上述第一字元線所控制之其他上述頁面的步驟。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW104132975A TWI571742B (zh) | 2015-10-07 | 2015-10-07 | 資料儲存裝置及資料維護方法 |
| CN201910854035.4A CN110554844B (zh) | 2015-10-07 | 2015-10-28 | 数据储存装置及数据维护方法 |
| CN201510713909.6A CN106569735B (zh) | 2015-10-07 | 2015-10-28 | 数据储存装置及数据维护方法 |
| US15/001,886 US9613708B1 (en) | 2015-10-07 | 2016-01-20 | Data storage device and data maintenance method |
| US15/439,029 US9786379B2 (en) | 2015-10-07 | 2017-02-22 | Data storage device and data maintenance method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW104132975A TWI571742B (zh) | 2015-10-07 | 2015-10-07 | 資料儲存裝置及資料維護方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI571742B true TWI571742B (zh) | 2017-02-21 |
| TW201714094A TW201714094A (zh) | 2017-04-16 |
Family
ID=58419138
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW104132975A TWI571742B (zh) | 2015-10-07 | 2015-10-07 | 資料儲存裝置及資料維護方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (2) | US9613708B1 (zh) |
| CN (2) | CN106569735B (zh) |
| TW (1) | TWI571742B (zh) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9251909B1 (en) | 2014-09-29 | 2016-02-02 | International Business Machines Corporation | Background threshold voltage shifting using base and delta threshold voltage shift values in flash memory |
| KR102564563B1 (ko) * | 2016-06-27 | 2023-08-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
| TWI606388B (zh) * | 2016-12-14 | 2017-11-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
| US10175892B1 (en) * | 2017-06-23 | 2019-01-08 | Amazon Technologies, Inc. | Adaptive read algorithm for a nonvolatile medium |
| TWI657336B (zh) * | 2017-08-28 | 2019-04-21 | 慧榮科技股份有限公司 | 用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置 |
| US11099781B2 (en) | 2018-07-19 | 2021-08-24 | Silicon Motion, Inc. | Flash memory controller, flash memory module and associated electronic device |
| KR102554418B1 (ko) * | 2018-10-01 | 2023-07-11 | 삼성전자주식회사 | 메모리 컨트롤러 및 이를 포함하는 스토리지 장치 |
| KR102747579B1 (ko) * | 2018-11-07 | 2025-01-02 | 삼성전자주식회사 | 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치, 그리고 불휘발성 메모리 장치를 액세스하는 방법 |
| CN115019870A (zh) * | 2022-05-18 | 2022-09-06 | 上海颖存半导体科技有限公司 | Nand Flash页面数据纠错方法及系统 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI312464B (zh) * | 2005-05-30 | 2009-07-21 | Toshib Kk | |
| US20090185421A1 (en) * | 2008-01-21 | 2009-07-23 | Sung-Won Yun | Charge-Trap Flash Memory Device with Reduced Erasure Stress and Related Programming and Erasing Methods Thereof |
| TWI478170B (zh) * | 2012-09-14 | 2015-03-21 | Winbond Electronics Corp | 記憶體裝置以及冗餘方法 |
| US20150234609A1 (en) * | 2014-02-18 | 2015-08-20 | Silicon Motion Inc. | Method for accessing flash memory and associated controller and memory device |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7409623B2 (en) * | 2004-11-04 | 2008-08-05 | Sigmatel, Inc. | System and method of reading non-volatile computer memory |
| CN104217762B (zh) * | 2013-05-31 | 2017-11-24 | 慧荣科技股份有限公司 | 数据储存装置及其错误校正方法以及数据读取方法 |
| CN104425020A (zh) * | 2013-08-23 | 2015-03-18 | 慧荣科技股份有限公司 | 存取快闪存储器中储存单元的方法以及使用该方法的装置 |
| KR102190399B1 (ko) * | 2013-10-11 | 2020-12-11 | 삼성전자주식회사 | 신뢰성을 보장할 수 있는 불휘발성 메모리 장치의 동작 방법 및 상기 방법을 수행하는 메모리 시스템 |
| KR102065665B1 (ko) * | 2013-10-17 | 2020-01-13 | 삼성전자 주식회사 | 더미 워드라인을 포함하는 불휘발성 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작방법 |
| KR102117919B1 (ko) * | 2013-10-24 | 2020-06-02 | 삼성전자주식회사 | 저장 장치 및 그것의 프로그램 방법 |
| US9229806B2 (en) * | 2013-11-14 | 2016-01-05 | Sandisk Technologies Inc. | Block closure techniques for a data storage device |
| US9165670B2 (en) * | 2013-11-14 | 2015-10-20 | Sandisk Technologies Inc. | Data retention detection techniques for a data storage device |
| US9218891B2 (en) * | 2013-11-27 | 2015-12-22 | Silicon Motion, Inc. | Data storage device and flash memory control method |
| TWI603194B (zh) * | 2013-12-04 | 2017-10-21 | 慧榮科技股份有限公司 | 資料儲存裝置以及其資料存取方法 |
| US9329992B2 (en) * | 2013-12-04 | 2016-05-03 | Silicon Motion, Inc. | Data storage device and flash memory control method |
-
2015
- 2015-10-07 TW TW104132975A patent/TWI571742B/zh active
- 2015-10-28 CN CN201510713909.6A patent/CN106569735B/zh active Active
- 2015-10-28 CN CN201910854035.4A patent/CN110554844B/zh active Active
-
2016
- 2016-01-20 US US15/001,886 patent/US9613708B1/en active Active
-
2017
- 2017-02-22 US US15/439,029 patent/US9786379B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI312464B (zh) * | 2005-05-30 | 2009-07-21 | Toshib Kk | |
| US20090185421A1 (en) * | 2008-01-21 | 2009-07-23 | Sung-Won Yun | Charge-Trap Flash Memory Device with Reduced Erasure Stress and Related Programming and Erasing Methods Thereof |
| TWI478170B (zh) * | 2012-09-14 | 2015-03-21 | Winbond Electronics Corp | 記憶體裝置以及冗餘方法 |
| US20150234609A1 (en) * | 2014-02-18 | 2015-08-20 | Silicon Motion Inc. | Method for accessing flash memory and associated controller and memory device |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106569735A (zh) | 2017-04-19 |
| US20170162267A1 (en) | 2017-06-08 |
| US20170103815A1 (en) | 2017-04-13 |
| CN110554844B (zh) | 2022-11-11 |
| CN110554844A (zh) | 2019-12-10 |
| US9613708B1 (en) | 2017-04-04 |
| CN106569735B (zh) | 2019-10-25 |
| TW201714094A (zh) | 2017-04-16 |
| US9786379B2 (en) | 2017-10-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI571742B (zh) | 資料儲存裝置及資料維護方法 | |
| CN104217762B (zh) | 数据储存装置及其错误校正方法以及数据读取方法 | |
| KR101887557B1 (ko) | 플래시 메모리 모듈에 액세스하기 위한 플래시 메모리 제어기 및 메모리 장치, 그리고 관련된 방법 | |
| TWI607312B (zh) | 資料儲存裝置及其資料寫入方法 | |
| TWI621129B (zh) | 資料儲存裝置及其資料寫入方法 | |
| US10957415B2 (en) | NAND flash memory and reading method thereof | |
| TWI631456B (zh) | 資料儲存裝置及資料維護方法 | |
| TW201511016A (zh) | 更新讀取電壓 | |
| TWI533305B (zh) | 將資料寫入至快閃記憶體的方法及相關的記憶裝置與快閃記憶體 | |
| TWI545571B (zh) | 存取快閃記憶體的方法及相關的控制器與記憶裝置 | |
| CN108363544B (zh) | 固态储存装置及其读取重试方法 | |
| KR102140784B1 (ko) | 비휘발성 메모리 장치의 데이터 기록 방법 | |
| TWI523025B (zh) | 資料儲存裝置及其錯誤校正方法 | |
| CN118363787B (zh) | 在存储系统的两遍编程之前执行读取操作 | |
| TWI566094B (zh) | 資料儲存裝置及其資料更新方法 | |
| TWI753814B (zh) | 半導體儲存裝置以及錯誤檢測糾正相關資訊的讀出方法 | |
| TWI640868B (zh) | 資料儲存裝置及其資料寫入方法 | |
| US11430525B2 (en) | Memory device | |
| TWI527050B (zh) | 資料儲存裝置及其錯誤校正方法以及資料讀取方法 | |
| TWI515729B (zh) | 資料儲存裝置及其錯誤校正方法 | |
| US10210939B1 (en) | Solid state storage device and data management method |