TWI490870B - Data storage device and data maintenance method thereof - Google Patents

Data storage device and data maintenance method thereof Download PDF

Info

Publication number
TWI490870B
TWI490870B TW102146530A TW102146530A TWI490870B TW I490870 B TWI490870 B TW I490870B TW 102146530 A TW102146530 A TW 102146530A TW 102146530 A TW102146530 A TW 102146530A TW I490870 B TWI490870 B TW I490870B
Authority
TW
Taiwan
Prior art keywords
time
maintenance
block
storage device
data storage
Prior art date
Application number
TW102146530A
Other languages
Chinese (zh)
Other versions
TW201506939A (en
Inventor
Jieh Hsin Chien
Yi Hua Pao
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 CN201410322810.9A priority Critical patent/CN104346236B/en
Priority to US14/330,566 priority patent/US9368226B2/en
Priority to KR1020140098309A priority patent/KR101677532B1/en
Priority to JP2014160778A priority patent/JP5986607B2/en
Publication of TW201506939A publication Critical patent/TW201506939A/en
Application granted granted Critical
Publication of TWI490870B publication Critical patent/TWI490870B/en

Links

Classifications

    • 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
    • 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

Description

資料儲存裝置及其資料維護方法Data storage device and data maintenance method thereof

本發明係關於一種記憶體裝置之資料維護方法;特別係關於一種自動監控快閃記憶體參數之資料維護方法。The invention relates to a data maintenance method for a memory device; in particular, to a data maintenance method for automatically monitoring parameters of a flash memory.

快閃記憶體為一種普遍的非揮發性資料儲存裝置,係以電性方式抹除與程式化。以非及閘型的快閃記憶體(即NAND FLASH)為例,常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)、嵌入式快閃記憶體模組(eMMC)…等使用。Flash memory is a popular non-volatile data storage device that is electrically erased and programmed. For example, NAND FLASH, which is not a gate type, is often used as a memory card, a universal flash memory device, a solid state drive (SSD), and an embedded flash. Memory module (eMMC)...etc.

快閃記憶體(如,NAND FLASH)的儲存陣列包括複數個區塊(blocks),其中浮置閘極電晶體可用以構成快閃記憶體。浮置閘極電晶體中之浮置閘極,可捕捉的電荷以儲存資料。然而,儲存於浮置閘極之電荷會由於快閃記憶體之操作以及各種環境參數,自浮置閘極流失,造成資料保存(Dara retention)之問題。A flash memory (eg, NAND FLASH) storage array includes a plurality of blocks, wherein a floating gate transistor can be used to form a flash memory. A floating gate in a floating gate transistor that captures charge to store data. However, the charge stored in the floating gate can be lost from the floating gate due to the operation of the flash memory and various environmental parameters, resulting in Dara retention problems.

本發明提供一種資料儲存裝置。資料儲存裝置包括一快閃記憶體、一溫度感測裝置以及一控制器。快閃記憶體具有複數區塊,每一區塊具有複數頁面。溫度感測裝置用以偵測周圍之環境溫度,以產生隨著環境溫度變化之溫度參數。控 制器用以在資料儲存裝置上電一預設時間後,執行一第一維護程序,在第一維護程序中,控制器讀取溫度感測裝置以獲得一第一溫度參數,以及根據一第一既定條件決定一第一時間長度以執行一第二維護程序,其中第一既定條件包括第一溫度參數,並且控制器更用以在第一維護程序結束之第一時間長度後,執行第二維護程序。在第一維護程序中,控制器更用以對區塊進行一第一區塊掃描以獲得分別相應於區塊之複數第一錯誤位元數,並對相應於超過一既定錯誤位元臨界值之第一錯誤位元數的區塊,進行更新。The invention provides a data storage device. The data storage device includes a flash memory, a temperature sensing device, and a controller. The flash memory has a plurality of blocks, each block having a plurality of pages. The temperature sensing device is configured to detect ambient temperature in the surroundings to generate temperature parameters that vary with ambient temperature. control The controller is configured to perform a first maintenance procedure after the data storage device is powered on for a predetermined time. In the first maintenance procedure, the controller reads the temperature sensing device to obtain a first temperature parameter, and according to a first The predetermined condition determines a first time length to perform a second maintenance procedure, wherein the first predetermined condition includes a first temperature parameter, and the controller is further configured to perform the second maintenance after the first time length of the end of the first maintenance program program. In the first maintenance procedure, the controller is further configured to perform a first block scan on the block to obtain a plurality of first error bit numbers respectively corresponding to the block, and corresponding to a threshold value exceeding a predetermined error bit. The block of the first error bit number is updated.

在第二維護程序中,控制器讀取溫度感測裝置以獲得一第二溫度參數,根據一第二既定條件以及一第一歷史紀錄決定一第二時間長度以執行一第三維護程序,其中第二既定條件包括第二溫度參數,並且第一歷史紀錄包括第一錯誤位元數以及在第一維護程序中被更新之區塊的數量。另外,在第二維護程序中,控制器更用以根據第一歷史紀錄決定一第一錯誤位元臨界值,對區塊進行一第二區塊掃描以獲得分別相應於區塊之複數第二錯誤位元數,並對相應於超過第一錯誤位元臨界值之第二錯誤位元數的區塊,進行更新。In the second maintenance procedure, the controller reads the temperature sensing device to obtain a second temperature parameter, and determines a second time length according to a second predetermined condition and a first history to perform a third maintenance procedure, wherein The second predetermined condition includes a second temperature parameter, and the first history record includes the first number of error bits and the number of blocks that were updated in the first maintenance program. In addition, in the second maintenance procedure, the controller is further configured to determine a first error bit threshold according to the first history record, perform a second block scan on the block to obtain a complex second corresponding to the block respectively. The number of error bits is updated and the block corresponding to the second number of error bits exceeding the threshold of the first error bit is updated.

值得注意的是,第一既定條件以及第二條件更包括資料儲存裝置最後一次被一主機存取之時間、資料儲存裝置上電之時間及/或區塊被抹除之次數。在另一實施例之預設時間中,控制器更用以每隔一既定週期,讀取溫度感測裝置以獲得當下之溫度參數,並根據所讀取之當下之溫度參數,調整開始執行第一維護程序之時間。It should be noted that the first predetermined condition and the second condition further include the time when the data storage device was last accessed by a host, the time when the data storage device is powered on, and/or the number of times the block is erased. In another preset time of the embodiment, the controller is further configured to read the temperature sensing device to obtain the current temperature parameter every predetermined cycle, and adjust the start execution according to the current temperature parameter read. A time to maintain the program.

本發明亦提供一種資料維護方法,適用於具有一快閃記憶體之一資料儲存裝置,其中快閃記憶體具有複數區塊,每一區塊具有複數頁面。資料維護方法包括:在資料儲存裝置上電一預設時間後,執行一第一維護程序;在第一維護程序中,讀取一溫度感測裝置以獲得相應於周圍之環境溫度的一第一溫度參數;在第一維護程序中,根據一第一既定條件決定一第一時間長度以執行一第二維護程序,其中第一既定條件包括第一溫度參數;對區塊進行一第一區塊掃描以獲得分別相應於區塊之複數第一錯誤位元數;對相應於超過一既定錯誤位元臨界值之第一錯誤位元數的區塊,進行更新;以及在第一維護程序結束之第一時間長度後,執行第二維護程序。The invention also provides a data maintenance method, which is suitable for a data storage device having a flash memory, wherein the flash memory has a plurality of blocks, each block having a plurality of pages. The data maintenance method includes: after the data storage device is powered on for a preset time, executing a first maintenance program; in the first maintenance program, reading a temperature sensing device to obtain a first corresponding to ambient temperature a temperature parameter; in the first maintenance procedure, determining a first time length according to a first predetermined condition to perform a second maintenance procedure, wherein the first predetermined condition includes a first temperature parameter; and the first block is performed on the block Scanning to obtain a plurality of first error bit numbers respectively corresponding to the block; updating the block corresponding to the first error bit number exceeding a predetermined error bit threshold; and ending at the first maintenance program After the first length of time, the second maintenance procedure is performed.

第二維護程序更包括:讀取溫度感測裝置以獲得相應於周圍之環境溫度的一第二溫度參數;根據一第二既定條件以及一第一歷史紀錄決定一第二時間長度以執行一第三維護程序;根據第一歷史紀錄決定一第一錯誤位元臨界值;對區塊進行一第二區塊掃描以獲得分別相應於區塊之複數第二錯誤位元數;以及對相應於超過第一錯誤位元臨界值之第二錯誤位元數的區塊,進行更新,其中第二既定條件包括第二溫度參數,並且第一歷史紀錄包括第一錯誤位元數以及在第一維護程序中被更新之區塊的數量。The second maintenance program further includes: reading the temperature sensing device to obtain a second temperature parameter corresponding to the ambient temperature; determining a second time length according to a second predetermined condition and a first historical record to perform a first a maintenance program; determining a first error bit threshold according to the first history; performing a second block scan on the block to obtain a plurality of second error bits respectively corresponding to the block; and corresponding to exceeding The block of the second error bit number of the first error bit threshold is updated, wherein the second predetermined condition includes the second temperature parameter, and the first history record includes the first error bit number and the first maintenance procedure The number of blocks that have been updated.

在另一實施例中,資料維護方法更包括:在預設時間中,控制器更用以每隔一既定週期,讀取溫度感測裝置以獲得當下之溫度參數;以及根據所讀取之當下之溫度參數,調整開始執行第一維護程序之時間。In another embodiment, the data maintenance method further includes: in the preset time, the controller is further configured to read the temperature sensing device to obtain the current temperature parameter every predetermined period; and according to the current reading The temperature parameter adjusts the time to start the first maintenance program.

100‧‧‧電子系統100‧‧‧Electronic system

120‧‧‧主機120‧‧‧Host

140‧‧‧資料儲存裝置140‧‧‧Data storage device

160‧‧‧控制器160‧‧‧ Controller

162‧‧‧運算單元162‧‧‧ arithmetic unit

164‧‧‧永久記憶體164‧‧‧Permanent memory

165‧‧‧隨機存取記憶體165‧‧‧ random access memory

166‧‧‧計時裝置166‧‧‧Timer

180‧‧‧快閃記憶體180‧‧‧Flash memory

190‧‧‧溫度感測裝置190‧‧‧Temperature sensing device

S202~S206、S300~S306‧‧‧步驟S202~S206, S300~S306‧‧‧ steps

第1圖係本發明之一種實施例之電子系統之方塊圖。BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of an electronic system in accordance with one embodiment of the present invention.

第2圖係本發明之一種實施例之資料維護方法之流程圖。2 is a flow chart of a data maintenance method of an embodiment of the present invention.

第3圖係本發明之另一種實施例之資料維護方法之流程圖。Figure 3 is a flow chart of a data maintenance method of another embodiment of the present invention.

以下將詳細討論本發明各種實施例之裝置及使用方法。然而值得注意的是,本發明所提供之許多可行的發明概念可實施在各種特定範圍中。這些特定實施例僅用於舉例說明本發明之裝置及使用方法,但非用於限定本發明之範圍。The apparatus and method of use of various embodiments of the present invention are discussed in detail below. However, it is to be noted that many of the possible inventive concepts provided by the present invention can be implemented in various specific ranges. These specific examples are only intended to illustrate the apparatus and methods of use of the present invention, but are not intended to limit the scope of the invention.

第1圖係本發明之一種實施例之電子系統之方塊圖。電子系統100包括一主機120以及一資料儲存裝置140。資料儲存裝置140包括一控制器160、一快閃記憶體180以及一溫度感測裝置190,且可根據主機120所下達的命令操作。控制器160包括一運算單元162、一永久記憶體(如,唯讀記憶體ROM)164、一隨機存取記憶體165以及一計時裝置166。永久記憶體164與所載之程式碼、資料組成韌體(firmware),由運算單元162執行,使控制器160基於該韌體控制該快閃記憶體180。舉例而言,控制器160可根據主機120之命令執行對快閃記憶體180進行存取,以及自動執行維護程序。值得注意的是,在本發明之一實施例中,維護程序係在背景重複執行的,但本發明不限於此。舉例而言,控制器160在閒置時,才會執行維護程序,並在收到來自主機120之動作命令時,中斷所執行之維護 程序。快閃記憶體180具有複數區塊,每一區塊具有複數頁面。計時裝置166用以紀錄資料儲存裝置180上電的時間,以及程序與程序間的時間等等。溫度感測裝置190用以偵測資料儲存裝置140周圍之環境溫度,以產生隨著環境溫度變化之溫度參數。在本實施例中,溫度感測裝置190系設置於資料儲存裝置140中之快閃記憶體180旁,用以偵測快閃記憶體180周圍之環境溫度,但本發明不限於此。在另一實施例中,溫度感測裝置190亦可設置於資料儲存裝置140外,用以偵測資料儲存裝置140周圍之環境溫度。BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of an electronic system in accordance with one embodiment of the present invention. The electronic system 100 includes a host 120 and a data storage device 140. The data storage device 140 includes a controller 160, a flash memory 180, and a temperature sensing device 190, and is operable according to commands issued by the host 120. The controller 160 includes an arithmetic unit 162, a permanent memory (e.g., read only memory ROM) 164, a random access memory 165, and a timing device 166. The permanent memory 164 and the stored code and data constitute a firmware, which is executed by the operation unit 162, so that the controller 160 controls the flash memory 180 based on the firmware. For example, the controller 160 can perform access to the flash memory 180 according to the command of the host 120, and automatically execute the maintenance program. It is to be noted that, in one embodiment of the present invention, the maintenance program is repeatedly executed in the background, but the present invention is not limited thereto. For example, the controller 160 executes the maintenance program when it is idle, and interrupts the maintenance performed when receiving the action command from the host 120. program. Flash memory 180 has a plurality of blocks, each block having a plurality of pages. The timing device 166 is used to record the time when the data storage device 180 is powered on, the time between the program and the program, and the like. The temperature sensing device 190 is configured to detect an ambient temperature around the data storage device 140 to generate a temperature parameter that varies with ambient temperature. In the present embodiment, the temperature sensing device 190 is disposed adjacent to the flash memory 180 in the data storage device 140 for detecting the ambient temperature around the flash memory 180, but the invention is not limited thereto. In another embodiment, the temperature sensing device 190 can also be disposed outside the data storage device 140 for detecting the ambient temperature around the data storage device 140.

另外,快閃記憶體180更用以儲存至少一參數對照表以及一掃描條件表。在一實施例中,參數對照表用以儲存在不同之環境溫度下,執行下一次維護程序所間隔的時間,但本發明不限於此。在其他實施例中,參數對照表亦包括在不同之環境溫度、不同錯誤位元數、更新之區塊的不同數量、資料儲存裝置140最後一次被一主機120存取之不同時間、資料儲存裝置140上電之不同時間及/或區塊被抹除之不同次數所相應的執行下一次維護程序所間隔的時間。掃描條件表用以儲存相應於不同錯誤位元數及/或更新之區塊的不同數量的掃描條件。舉例而言,掃描條件可為錯誤位元臨界值,但本發明不限於此。在其他實施例中,掃描條件亦可為不同之錯誤修正碼等等。在另一實施例中,快閃記憶體180用以儲存一參數函式以及一掃描條件函式。在本實施例中,執行下一次維護程序所間隔的時間係由參數函式所決定的。舉例而言,根據不同之環境溫度,對參數函式進行運算,可獲得不同之執行下一次維護程 序所間隔的時間,但本發明不限於此。在其他實施例中,參數函式亦可根據不同之環境溫度、不同錯誤位元數、更新之區塊的不同數量、資料儲存裝置140最後一次被一主機120存取之不同時間、資料儲存裝置140上電之不同時間及/或區塊被抹除之不同次數,決定所相應的執行下一次維護程序所間隔的時間。另外,掃描條件函式系用以根據不同錯誤位元數及/或更新之區塊的不同數量,決定不同之掃描條件。值得注意的是,越高之環境溫度、錯誤位元數、更新區塊的數量、資料儲存裝置140上電之時間以及區塊被抹除不同次數,相應於越短之下一次維護程序所間隔的時間。越高之錯誤位元數以及更新區塊的數量,相應於越低之錯誤位元臨界值。In addition, the flash memory 180 is further configured to store at least one parameter comparison table and a scan condition table. In an embodiment, the parameter comparison table is used to store the time interval between the execution of the next maintenance program at different ambient temperatures, but the invention is not limited thereto. In other embodiments, the parameter comparison table also includes different environments, different number of error bits, different numbers of updated blocks, different times when the data storage device 140 is last accessed by a host 120, and a data storage device. The time between the execution of the next maintenance procedure at 140 different times of power-up and/or the number of times the block is erased. The scan condition table is used to store different number of scan conditions corresponding to different error bit numbers and/or updated blocks. For example, the scan condition may be an error bit threshold, but the invention is not limited thereto. In other embodiments, the scanning conditions may also be different error correction codes and the like. In another embodiment, the flash memory 180 is configured to store a parameter function and a scan condition function. In this embodiment, the time interval between execution of the next maintenance program is determined by the parameter function. For example, depending on the ambient temperature, the parameter function can be calculated to obtain different executions for the next maintenance process. The time interval between the sequences, but the invention is not limited thereto. In other embodiments, the parameter function may also be based on different ambient temperatures, different number of error bits, different numbers of updated blocks, different times when the data storage device 140 was last accessed by a host 120, and a data storage device. The different times of power-on of 140 and/or the number of times the block is erased determines the time interval between the execution of the next maintenance procedure. In addition, the scanning condition function is used to determine different scanning conditions according to different number of error bits and/or different numbers of updated blocks. It is worth noting that the higher the ambient temperature, the number of error bits, the number of update blocks, the time when the data storage device 140 is powered on, and the number of times the block is erased, corresponding to the shorter interval between the maintenance procedures. time. The higher the number of error bits and the number of update blocks, the lower the error bit threshold.

在一實施例中,控制器160用以在資料儲存裝置140上電一預設時間後,執行一第一維護程序。在本實施例中,預設時間為一既定之時間,但本發明不限於此。舉例而言,預設時間可為4分鐘或者5分鐘,本發明不限於此。在第一維護程序中,控制器160讀取溫度感測裝置190以獲得一第一溫度參數,根據一第一既定條件決定一第一時間長度,以及對區塊進行一第一區塊掃描以獲得分別相應於區塊之複數第一錯誤位元數。在一實施例中,第一既定條件包括第一溫度參數,但本發明不限於此。在其他實施例中,第一既定條件亦可包括資料儲存裝置140最後一次被一主機120存取之時間、資料儲存裝置140上電之時間及/或區塊被抹除之次數。控制器160可在第一維護程序中,根據參數對照表或者參數函式,決定第一時間長度,以在第一維護程序結束第一時間長度後,執行第二維護程 序。值得注意的是,第一既定條件中之參數皆係目前的數據。因此,第一維護程序中之參數可能不同於第二維護程序中之參數,第二維護程序中之參數可能不同於第三維護程序中之參數。在某些情況下,不同維護程序中之參數可能相同。舉例而言,在第二維護程序以及第三維護程序之間,主機120並未對快閃記憶體180進行抹除時,第二維護程序以及第三維護程序中之”區塊被抹除之次數”則相同。反之,在第二維護程序以及第三維護程序之間,主機120對快閃記憶體180進行抹除時,第二維護程序以及第三維護程序中之”區塊被抹除之次數”則不相同。值得注意的是,控制器160更用以對相應於超過一既定錯誤位元臨界值之第一錯誤位元數的區塊,進行更新。在本實施例中,既定錯誤位元臨界值為一既定之臨界值,但本發明不限於此。In an embodiment, the controller 160 is configured to perform a first maintenance procedure after the data storage device 140 is powered on for a predetermined time. In the present embodiment, the preset time is a predetermined time, but the present invention is not limited thereto. For example, the preset time may be 4 minutes or 5 minutes, and the present invention is not limited thereto. In the first maintenance procedure, the controller 160 reads the temperature sensing device 190 to obtain a first temperature parameter, determines a first time length according to a first predetermined condition, and performs a first block scan on the block. The number of first error bits corresponding to the plurality of blocks respectively is obtained. In an embodiment, the first predetermined condition includes the first temperature parameter, but the invention is not limited thereto. In other embodiments, the first predetermined condition may also include the time when the data storage device 140 was last accessed by a host 120, the time when the data storage device 140 was powered on, and/or the number of times the block was erased. The controller 160 may determine the first time length according to the parameter comparison table or the parameter function in the first maintenance program to execute the second maintenance process after the first maintenance program ends the first time length sequence. It is worth noting that the parameters in the first established condition are the current data. Therefore, the parameters in the first maintenance program may be different from the parameters in the second maintenance program, and the parameters in the second maintenance program may be different from the parameters in the third maintenance program. In some cases, the parameters in different maintenance procedures may be the same. For example, when the host 120 does not erase the flash memory 180 between the second maintenance program and the third maintenance program, the "block" in the second maintenance program and the third maintenance program is erased. The number of times is the same. On the other hand, when the host 120 erases the flash memory 180 between the second maintenance program and the third maintenance program, the "number of times the block is erased" in the second maintenance program and the third maintenance program is not the same. It should be noted that the controller 160 is further configured to update the block corresponding to the first error bit number exceeding a predetermined error bit threshold. In the present embodiment, the threshold value of the predetermined error bit is a predetermined threshold value, but the present invention is not limited thereto.

在另一實施例中,在預設時間中,控制器160更用以每隔一既定週期,讀取溫度感測裝置190以獲得當下之溫度參數,並根據所讀取之當下之溫度參數,調整開始執行第一維護程序之時間。換言之,自資料儲存裝置140上電開始,控制器160更用以每隔一既定週期,讀取溫度感測裝置190以獲得當下之溫度參數,並根據所讀取之當下之溫度參數,藉由參數對照表或者參數函式,決定開始執行第一維護程序之時間,其中既定週期小於預設時間。舉例而言,預設時間可為1秒或者2秒等等,本發明不限於此。當所決定開始執行第一維護程序之時間小於原本的預設時間時,控制器160更用以根據所決定之時間修改預設時間。舉例而言,預設時間為5分鐘,既定週期為2 秒。自資料儲存裝置140上電開始之5分鐘內,控制器160用以每隔2秒,讀取一次溫度感測裝置190以獲得當下之溫度參數,並根據所讀取之當下之溫度參數決定開始執行第一維護程序之時間。舉例而言,當控制器160根據所讀取之當下之溫度參數決定第一維護程序應在資料儲存裝置140上電6分鐘(大於預設時間)後執行,控制器160則忽略所決定之時間,並在2秒後再次重複執行上述步驟直到預設時間結束為止。當控制器160根據所讀取之當下之溫度參數決定第一維護程序應在資料儲存裝置140上電3分鐘(小於原本預設時間)後執行,控制器160則將預設時間修改為3分鐘並且在2秒後再次重複執行上述步驟直到預設時間結束為止。換言之,控制器160將第一維護程序改在資料儲存裝置140上電3分鐘後執行,依此類推。In another embodiment, in a preset time, the controller 160 is further configured to read the temperature sensing device 190 every other predetermined period to obtain the current temperature parameter, and according to the current temperature parameter read, Adjust the time to start the first maintenance program. In other words, starting from the power-on of the data storage device 140, the controller 160 is further configured to read the temperature sensing device 190 every other predetermined period to obtain the current temperature parameter, and according to the current temperature parameter read by The parameter comparison table or the parameter function determines the time when the first maintenance program is started, wherein the predetermined period is less than the preset time. For example, the preset time may be 1 second or 2 seconds, etc., and the present invention is not limited thereto. When it is determined that the time to start executing the first maintenance program is less than the original preset time, the controller 160 is further configured to modify the preset time according to the determined time. For example, the preset time is 5 minutes and the established period is 2 second. Within 5 minutes from the start of powering up the data storage device 140, the controller 160 reads the temperature sensing device 190 every 2 seconds to obtain the current temperature parameter, and decides to start according to the current temperature parameter read. The time to execute the first maintenance program. For example, when the controller 160 determines that the first maintenance program should be executed after the data storage device 140 is powered on for 6 minutes (greater than the preset time) according to the current temperature parameter read, the controller 160 ignores the determined time. And repeat the above steps again after 2 seconds until the preset time is over. When the controller 160 determines that the first maintenance program should be executed after the data storage device 140 is powered on for 3 minutes (less than the original preset time) according to the current temperature parameter read, the controller 160 modifies the preset time to 3 minutes. And the above steps are repeated again after 2 seconds until the preset time is over. In other words, the controller 160 changes the first maintenance program to be performed after the data storage device 140 is powered on for 3 minutes, and so on.

控制器160更用以在第一維護程序結束之第一時間長度後,執行第二維護程序。在第二維護程序中,控制器160讀取溫度感測裝置190以獲得一第二溫度參數、根據一第二既定條件以及一第一歷史紀錄決定一第二時間長度以執行一第三維護程序、以及根據第一歷史紀錄決定一第一錯誤位元臨界值並藉以對區塊進行一第二區塊掃描。在一實施例中,第二既定條件包括第二溫度參數,並且第一歷史紀錄包括第一錯誤位元數以及在第一維護程序中被更新之區塊的數量,但本發明不限於此。在其他實施例中,第二既定條件亦可包括資料儲存裝置140最後一次被一主機120存取之時間、資料儲存裝置140上電之時間及/或區塊被抹除之次數。控制器160可在第二維護程序中,根據參數對照表或者參數函式,決定第二時間長度,以 在第二維護程序結束第二時間長度後,執行第三維護程序。值得注意的是,第一既定條件中之參數皆係目前的數據,並且第三維護程序與第二維護程序之操作相同。同理,第三維護程序亦會決定一第三時間長度以決定開始執行第四維護程序之時間,並且決定一第二錯誤位元臨界值以對區塊進行一第三區塊掃描,第四維護程序之操作亦與第二維護程序相同,依此類推。值得注意的是,控制器160更用以對相應於超過一第一錯誤位元臨界值之第二錯誤位元數的區塊,進行更新。The controller 160 is further configured to execute the second maintenance procedure after the first length of time of the end of the first maintenance program. In the second maintenance procedure, the controller 160 reads the temperature sensing device 190 to obtain a second temperature parameter, determines a second time length according to a second predetermined condition, and a first history to perform a third maintenance procedure. And determining a first error bit threshold based on the first history record and thereby performing a second block scan on the block. In an embodiment, the second predetermined condition includes the second temperature parameter, and the first history record includes the first number of error bits and the number of blocks updated in the first maintenance program, but the invention is not limited thereto. In other embodiments, the second predetermined condition may also include the time when the data storage device 140 was last accessed by a host 120, the time when the data storage device 140 was powered on, and/or the number of times the block was erased. The controller 160 may determine the second time length according to the parameter comparison table or the parameter function in the second maintenance program to After the second maintenance program ends the second length of time, the third maintenance procedure is executed. It is worth noting that the parameters in the first predetermined condition are the current data, and the third maintenance procedure is the same as the operation of the second maintenance program. Similarly, the third maintenance program also determines a third time length to determine when to start executing the fourth maintenance procedure, and determines a second error bit threshold to perform a third block scan on the block, fourth. The maintenance procedure is also the same as the second maintenance procedure, and so on. It should be noted that the controller 160 is further configured to update a block corresponding to the second error bit number exceeding a first error bit threshold.

值得注意的是,當控制器160可將區塊掃描之結果(例如,錯誤位元數或者所更新之區塊數)或者區塊被抹除之次數(erase count)等,儲存至快閃記憶體180中之特定區塊,以提供維護程序進行運算,但本發明不限於此。在區塊掃描的過程,控制器160依序掃描快閃記憶體180中之每一區塊,以獲得分別相應於每一區塊的錯誤位元數。詳細而言,控制器160依序讀取快閃記憶體180中之每一區塊,並在讀取區塊的過程中,獲得分別相應於所讀取之區塊之錯誤驗證(Error Correction;ECC)的錯誤位元數。接著,控制器160更用以更新相應於超過臨界值之錯誤位元數的區塊,例如既定錯誤位元臨界值以及第一錯誤位元臨界值、第二錯誤位元臨界值等等,而其中「更新」之動作,例如控制器將此區塊內的資料讀出,將資料作完校驗後,再回存至快閃記憶體之一區塊中。值得注意的是,錯誤位元臨界值係小於或者等於錯誤驗證(ECC)所能允許之錯誤位元的最大值。舉例而言,當錯誤驗證只能修正小於43bit之錯誤位元時,錯誤臨界值則可為35bit或者38bit,但本 發明不限於此。熟知本領域之技術人員,可藉由本發明之教示,根據所使用之錯誤驗證(ECC),將錯誤臨界值設計為小於或者等於錯誤驗證(ECC)所能允許之錯誤位元的最大值。It should be noted that when the controller 160 can store the result of the block scan (for example, the number of error bits or the number of blocks updated) or the erased number of the block, etc., to the flash memory. The specific block in the body 180 is operated to provide a maintenance program, but the present invention is not limited thereto. During the block scan process, the controller 160 sequentially scans each block in the flash memory 180 to obtain the number of error bits corresponding to each block, respectively. In detail, the controller 160 sequentially reads each block in the flash memory 180, and obtains error correction corresponding to the read block in the process of reading the block (Error Correction; ECC) The number of error bits. Then, the controller 160 is further configured to update a block corresponding to the number of error bits exceeding the threshold, such as a predetermined error bit threshold and a first error bit threshold, a second error bit threshold, and the like. The action of "update", for example, the controller reads out the data in the block, and after the data is verified, it is restored to a block of the flash memory. It is worth noting that the error bit threshold is less than or equal to the maximum value of the error bits allowed by error verification (ECC). For example, when error verification can only correct error bits less than 43 bits, the error threshold can be 35bit or 38bit, but this The invention is not limited to this. Those skilled in the art will be able to design the error threshold to be less than or equal to the maximum value of the error bits allowed by error verification (ECC), depending on the error verification (ECC) used, by the teachings of the present invention.

第2圖係本發明之一種實施例之資料維護方法之流程圖。資料維護方法適用於第1圖所示之資料儲存裝置140。流程開始於步驟S202。2 is a flow chart of a data maintenance method of an embodiment of the present invention. The data maintenance method is applied to the data storage device 140 shown in FIG. The flow begins in step S202.

在步驟S202中,控制器160用以在資料儲存裝置140上電一預設時間後,開始執行第一次維護程序,例如上述之第一維護程序。在本實施例中,預設時間為一既定之時間,但本發明不限於此。舉例而言,預設時間可為4分鐘或者5分鐘,本發明不限於此。在第一次維護程序中,控制器160讀取溫度感測裝置190以獲得一目前溫度參數,根據一第一既定條件決定一時間長度,以及對區塊進行一區塊掃描以獲得分別相應於區塊之複數錯誤位元數。在一實施例中,第一既定條件包括目前溫度參數,但本發明不限於此。在其他實施例中,第一既定條件亦可包括資料儲存裝置140最後一次被一主機120存取之時間、資料儲存裝置140上電之時間及/或區塊被抹除之次數。控制器160可在第一維護程序中,根據參數對照表或者參數函式,決定時間長度,以在第一次護程序結束該時間長度後,執行週期維護程序,例如第一維護程序、第二維護程序、第三維護程序等等。值得注意的是,第一既定條件中之參數皆係目前的數據。值得注意的是,控制器160更用以對相應於超過一既定錯誤位元臨界值之第一錯誤位元數的區塊,進行更新。在本實施例中,既定錯誤位元臨界值為一既定之臨界值, 但本發明不限於此。In step S202, the controller 160 is configured to start performing the first maintenance procedure, such as the first maintenance procedure described above, after the data storage device 140 is powered on for a predetermined time. In the present embodiment, the preset time is a predetermined time, but the present invention is not limited thereto. For example, the preset time may be 4 minutes or 5 minutes, and the present invention is not limited thereto. In the first maintenance procedure, the controller 160 reads the temperature sensing device 190 to obtain a current temperature parameter, determines a time length according to a first predetermined condition, and performs a block scan on the block to obtain respectively corresponding to The number of complex error bits in the block. In an embodiment, the first predetermined condition includes a current temperature parameter, but the invention is not limited thereto. In other embodiments, the first predetermined condition may also include the time when the data storage device 140 was last accessed by a host 120, the time when the data storage device 140 was powered on, and/or the number of times the block was erased. The controller 160 may determine the length of time according to the parameter comparison table or the parameter function in the first maintenance program to execute the periodic maintenance program after the first maintenance program ends the length of time, for example, the first maintenance program, the second Maintenance procedures, third maintenance procedures, and more. It is worth noting that the parameters in the first established condition are the current data. It should be noted that the controller 160 is further configured to update the block corresponding to the first error bit number exceeding a predetermined error bit threshold. In this embodiment, the threshold value of the predetermined error bit is a predetermined threshold. However, the invention is not limited thereto.

接著,一時間長度後,控制器160開始執行後續之週期維護程序。舉例而言,在第一次維護程序結束在步驟S202中所決定之一時間長度後,控制器160執行第二維護程序。首先,在步驟S204中,控制器160讀取溫度感測裝置190以獲得目前溫度參數、根據目前既定條件以及一歷史紀錄決定一另一時間長度以執行一下次週期維護程序、以及根據歷史紀錄決定一錯誤位元臨界值。在一實施例中,目前既定條件包括目前溫度參數,並且歷史紀錄包括上一次區塊掃描之錯誤位元數以及在上一次維護程序中被更新之區塊的數量,但本發明不限於此。在其他實施例中,目前既定條件亦可包括資料儲存裝置140最後一次被一主機120存取之時間、資料儲存裝置140上電之時間及/或區塊被抹除之次數。控制器160可在維護程序中,根據參數對照表或者參數函式,決定時間長度,以在目前維護程序結束該時間長度後,執行下一次維護程序。Then, after a length of time, the controller 160 begins executing the subsequent periodic maintenance procedure. For example, after the first maintenance program ends one of the lengths of time determined in step S202, the controller 160 executes the second maintenance program. First, in step S204, the controller 160 reads the temperature sensing device 190 to obtain the current temperature parameter, determines a further time length according to the current established condition and a historical record to perform a next cycle maintenance procedure, and determines according to the historical record. An error bit threshold. In an embodiment, the current established condition includes the current temperature parameter, and the history record includes the number of error bits of the last block scan and the number of blocks that were updated in the last maintenance procedure, but the invention is not limited thereto. In other embodiments, the current established conditions may also include the time when the data storage device 140 was last accessed by a host 120, the time at which the data storage device 140 was powered on, and/or the number of times the block was erased. The controller 160 may determine the length of time in the maintenance program according to the parameter comparison table or the parameter function to execute the next maintenance procedure after the current maintenance program ends the length of time.

接著,在步驟S206中,控制器160根據錯誤位元臨界值,對區塊進行一區塊掃描,其中控制器160對區塊進行區塊掃描以獲得分別相應於區塊之複數錯誤位元數,並對相應於超過錯誤位元臨界值之錯誤位元數的區塊,進行更新。接著,流程回到步驟S204。Next, in step S206, the controller 160 performs a block scan on the block according to the error bit threshold, wherein the controller 160 performs block scan on the block to obtain the number of complex error bits respectively corresponding to the block. And update the block corresponding to the number of error bits exceeding the critical bit threshold. Next, the flow returns to step S204.

第3圖係本發明之一種實施例之資料維護方法之流程圖。資料維護方法適用於第1圖所示之資料儲存裝置140。流程開始於步驟S300。值得注意的是第3圖所示之資料維護方法相似於第2圖所示之資料維護方法,除了步驟S300。因此, 步驟S302-S306請參考步驟S202-S206的說明,在此不再贅述。Figure 3 is a flow chart of a data maintenance method of an embodiment of the present invention. The data maintenance method is applied to the data storage device 140 shown in FIG. The flow begins in step S300. It is to be noted that the data maintenance method shown in FIG. 3 is similar to the data maintenance method shown in FIG. 2 except for step S300. therefore, For the steps S302-S306, refer to the description of steps S202-S206, and details are not described herein again.

在步驟S300中,控制器160用以自資料儲存裝置140上電開始一預設時間中,每隔一既定週期,讀取溫度感測裝置190以獲得當下之溫度參數,並根據所讀取之當下之溫度參數,調整第一次維護程序執行之預設時間。換言之,自資料儲存裝置140上電開始,控制器160更用以每隔一既定週期,讀取溫度感測裝置190以獲得當下之溫度參數,並根據所讀取之當下之溫度參數,藉由參數對應表或者參數函釋式,決定開始執行第一次維護程序之時間,其中既定週期小於預設時間。舉例而言,預設時間可為1秒或者2秒等等,本發明不限於此。當所決定開始執行第一次維護程序之時間小於原本的預設時間時,控制器160更用以根據所決定之時間修改預設時間。舉例而言,預設時間為5分鐘,既定週期為2秒。自資料儲存裝置140上電開始之5分鐘內,控制器160用以每隔2秒,讀取一次溫度感測裝置190以獲得當下之溫度參數,並根據所讀取之當下之溫度參數決定開始執行第一次維護程序之時間。舉例而言,當控制器160根據所讀取之當下之溫度參數決定第一次維護程序應在資料儲存裝置140上電6分鐘(大於預設時間)後執行,控制器160則忽略所決定之時間,並在2秒後再次重複執行上述步驟直到預設時間結束為止。當控制器160根據所讀取之當下之溫度參數決定第一次維護程序應在資料儲存裝置140上電3分鐘(小於原本預設時間)後執行,控制器160則將預設時間修改為3分鐘並且在2秒後再次重複執行上述步驟直到預設時間結束為止。換言之,控制器160將第一次維護程序改在資料儲存裝置 140上電3分鐘後執行,依此類推。In step S300, the controller 160 is configured to read the temperature sensing device 190 to obtain the current temperature parameter every other predetermined period from the power-on of the data storage device 140 for a predetermined period of time, and according to the read The current temperature parameter adjusts the preset time for the first maintenance program to be executed. In other words, starting from the power-on of the data storage device 140, the controller 160 is further configured to read the temperature sensing device 190 every other predetermined period to obtain the current temperature parameter, and according to the current temperature parameter read by The parameter correspondence table or parameter interpretation formula determines the time when the first maintenance program is started, wherein the predetermined period is less than the preset time. For example, the preset time may be 1 second or 2 seconds, etc., and the present invention is not limited thereto. When it is determined that the time for starting the execution of the first maintenance program is less than the original preset time, the controller 160 is further configured to modify the preset time according to the determined time. For example, the preset time is 5 minutes and the established period is 2 seconds. Within 5 minutes from the start of powering up the data storage device 140, the controller 160 reads the temperature sensing device 190 every 2 seconds to obtain the current temperature parameter, and decides to start according to the current temperature parameter read. The time to perform the first maintenance procedure. For example, when the controller 160 determines that the first maintenance procedure should be performed after the data storage device 140 is powered on for 6 minutes (greater than the preset time) according to the current temperature parameter read, the controller 160 ignores the determined decision. Time, and repeat the above steps again after 2 seconds until the preset time is over. When the controller 160 determines that the first maintenance procedure should be performed after the data storage device 140 is powered on for 3 minutes (less than the original preset time) according to the current temperature parameter read, the controller 160 modifies the preset time to 3 The above steps are repeated again after 2 seconds and until the preset time is over. In other words, the controller 160 changes the first maintenance program to the data storage device. 140 is powered on after 3 minutes, and so on.

由上述可知,資料儲存裝置140以及資料維護方法可根據目前之溫度自動掃描區塊,並將區塊進行更新。As can be seen from the above, the data storage device 140 and the data maintenance method can automatically scan the block according to the current temperature and update the block.

本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。The method of the invention, or a particular type or portion thereof, may exist in the form of a code. The code can be stored in a physical medium such as a floppy disk, a CD, a hard disk, or any other machine readable (such as computer readable) storage medium, or is not limited to an external form of computer program product, wherein When the code is loaded and executed by a machine, such as a computer, the machine becomes a device for participating in the present invention. The code can also be transmitted via some transmission medium, such as a wire or cable, fiber optics, or any transmission type, where the machine becomes part of the program when it is received, loaded, and executed by a machine, such as a computer. Invented device. When implemented in a general purpose processing unit, the code combination processing unit provides a unique means of operation similar to application specific logic.

惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,摘要部分和標題僅是用來輔助專利文件搜尋之用,並非用來限制本發明之權利範圍。The above is only the preferred embodiment of the present invention, and the scope of the invention is not limited thereto, that is, the simple equivalent changes and modifications made by the scope of the invention and the description of the invention are All remain within the scope of the invention patent. In addition, any of the objects or advantages or features of the present invention are not required to be achieved by any embodiment or application of the invention. In addition, the abstract sections and headings are only used to assist in the search of patent documents and are not intended to limit the scope of the invention.

100‧‧‧電子系統100‧‧‧Electronic system

120‧‧‧主機120‧‧‧Host

140‧‧‧資料儲存裝置140‧‧‧Data storage device

160‧‧‧控制器160‧‧‧ Controller

162‧‧‧運算單元162‧‧‧ arithmetic unit

164‧‧‧永久記憶體164‧‧‧Permanent memory

165‧‧‧隨機存取記憶體165‧‧‧ random access memory

166‧‧‧計時裝置166‧‧‧Timer

180‧‧‧快閃記憶體180‧‧‧Flash memory

190‧‧‧溫度感測裝置190‧‧‧Temperature sensing device

Claims (14)

一種資料儲存裝置,包括:一快閃記憶體,具有複數區塊,每一上述區塊具有複數頁面;一控制器,用以在上述資料儲存裝置上電一預設時間後,執行一第一維護程序,在上述第一維護程序中,上述控制器更用以對上述區塊進行一第一區塊掃描以獲得分別相應於上述區塊之複數第一錯誤位元數,並對相應於超過一既定錯誤位元臨界值之上述第一錯誤位元數的上述區塊進行更新以及根據上述第一錯誤位元數以及在上述第一維護程序中被更新之上述區塊的數量,決定一時間長度,以決定另一維護程序開始的時間。 A data storage device includes: a flash memory having a plurality of blocks, each of the blocks having a plurality of pages; and a controller for performing a first time after the data storage device is powered on for a predetermined time a maintenance program, in the first maintenance program, the controller is further configured to perform a first block scan on the block to obtain a plurality of first error bit numbers respectively corresponding to the block, and corresponding to exceeding Determining the block of the first error bit number of a predetermined error bit threshold and updating the time according to the first number of error bits and the number of the blocks updated in the first maintenance procedure Length to determine when other maintenance procedures begin. 根據申請專利範圍第1項之資料儲存裝置,更包括一溫度感測裝置,用以偵測周圍之環境溫度,以產生隨著環境溫度變化之溫度參數,其中在上述第一維護程序中,上述控制器讀取上述溫度感測裝置以獲得一溫度參數,並且上述控制器更用以根據上述溫度參數決定上述時間長度。 According to the data storage device of claim 1, further comprising a temperature sensing device for detecting ambient temperature to generate a temperature parameter that varies with ambient temperature, wherein in the first maintenance program, the above The controller reads the temperature sensing device to obtain a temperature parameter, and the controller is further configured to determine the length of time according to the temperature parameter. 根據申請專利範圍第2項之資料儲存裝置,其中在上述預設時間中,上述控制器更用以每隔一既定週期,讀取上述溫度感測裝置以獲得當下之溫度參數,並根據所讀取之當下之溫度參數,調整開始執行上述第一維護程序之時間。 According to the data storage device of claim 2, wherein in the preset time, the controller is further configured to read the temperature sensing device to obtain the current temperature parameter every other predetermined period, and according to the read Take the current temperature parameter and adjust the time to start the above first maintenance procedure. 根據申請專利範圍第1項之資料儲存裝置,其中上述控制器更用以根據上述第一錯誤位元數以及在上述第一維護程序中被更新之上述區塊的數量決定一第一錯誤位元臨界值, 對上述區塊進行一第二區塊掃描以獲得分別相應於上述區塊之複數第二錯誤位元數,並對相應於超過上述第一錯誤位元臨界值之上述第二錯誤位元數的上述區塊,進行更新。 The data storage device of claim 1, wherein the controller is further configured to determine a first error bit according to the first number of error bits and the number of the blocks updated in the first maintenance program. Threshold value, Performing a second block scan on the block to obtain a plurality of second error bit numbers respectively corresponding to the block, and corresponding to the second error bit number exceeding the threshold value of the first error bit The above blocks are updated. 根據申請專利範圍第1項之資料儲存裝置,其中上述控制器更用以根據上述資料儲存裝置最後一次被一主機存取之時間,決定上述時間長度。 The data storage device of claim 1, wherein the controller is further configured to determine the length of time according to a time when the data storage device is last accessed by a host. 根據申請專利範圍第1項之資料儲存裝置,其中上述控制器更用以根據上述資料儲存裝置上電之時間,決定上述時間長度。 According to the data storage device of claim 1, wherein the controller is further configured to determine the length of time according to the time when the data storage device is powered on. 根據申請專利範圍第1項之資料儲存裝置,其中上述控制器更用以根據上述區塊被抹除之次數,決定上述時間長度。 The data storage device of claim 1, wherein the controller is further configured to determine the length of time according to the number of times the block is erased. 一種資料維護方法,適用於具有一快閃記憶體之一資料儲存裝置,其中上述快閃記憶體具有複數區塊,每一上述區塊具有複數頁面,並且資料維護方法包括:在上述資料儲存裝置上電一預設時間後,執行一第一維護程序,其中上述第一維護程序包括:在上述第一維護程序中,對上述區塊進行一第一區塊掃描以獲得分別相應於上述區塊之複數第一錯誤位元數;在上述第一維護程序中,對相應於超過一既定錯誤位元臨界值之上述第一錯誤位元數的上述區塊,進行更新;以及 根據上述第一錯誤位元數以及在上述第一維護程序中被更新之上述區塊的數量,決定一時間長度以決定一第二維護程序開始的時間。 A data maintenance method is applicable to a data storage device having a flash memory, wherein the flash memory has a plurality of blocks, each of the blocks has a plurality of pages, and the data maintenance method comprises: the data storage device After the power-on for a preset time, performing a first maintenance procedure, where the first maintenance procedure includes: performing, in the first maintenance procedure, a first block scan on the block to obtain respectively corresponding to the block a plurality of first error bit numbers; in the first maintenance procedure, updating the block corresponding to the first error bit number exceeding a predetermined error bit threshold; and Based on the first number of error bits and the number of the blocks updated in the first maintenance program, a length of time is determined to determine the time at which a second maintenance program begins. 根據申請專利範圍第8項之資料維護方法,更包括讀取一溫度感測裝置以獲得相應於周圍之環境溫度的一溫度參數,其中決定上述時間長度的步驟更包括根據上述溫度參數決定上述時間長度。 According to the data maintenance method of claim 8, the method further comprises: reading a temperature sensing device to obtain a temperature parameter corresponding to the surrounding ambient temperature, wherein the step of determining the length of time further comprises determining the time according to the temperature parameter. length. 根據申請專利範圍第9項之資料維護方法,更包括:在上述預設時間中,更用以每隔一既定週期,讀取上述溫度感測裝置以獲得當下之溫度參數;以及根據所讀取之當下之溫度參數,調整開始執行上述第一維護程序之時間。 According to the data maintenance method of claim 9 of the patent application scope, the method further includes: reading the temperature sensing device to obtain the current temperature parameter every other predetermined period in the preset time; and reading according to the The current temperature parameter adjusts the time at which the first maintenance procedure described above is executed. 根據申請專利範圍第8項之資料維護方法,其中上述第二維護程序更包括:根據上述第一錯誤位元數以及在上述第一維護程序中被更新之上述區塊的數量,決定一第一錯誤位元臨界值;對上述區塊進行一第二區塊掃描以獲得分別相應於上述區塊之複數第二錯誤位元數;以及對相應於超過上述第一錯誤位元臨界值之上述第二錯誤位元數的上述區塊,進行更新。 According to the data maintenance method of claim 8, wherein the second maintenance program further includes: determining a first according to the first error bit number and the number of the blocks updated in the first maintenance program. An error bit threshold value; performing a second block scan on the block to obtain a plurality of second error bit numbers respectively corresponding to the block; and the foregoing corresponding to the threshold value exceeding the first error bit The above blocks of the second error bit number are updated. 根據申請專利範圍第8項之資料維護方法,其中決定上述時間長度的步驟更包括根據上述資料儲存裝置最後一次被一主機存取之時間決定上述時間長度。 According to the data maintenance method of claim 8, wherein the step of determining the length of time further comprises determining the length of time according to the time when the data storage device is last accessed by a host. 根據申請專利範圍第8項之資料維護方法,其中決定上述時 間長度的步驟更包括根據上述資料儲存裝置上電之時間決定上述時間長度。 According to the data maintenance method of Article 8 of the patent application scope, the above time is determined The step of length further includes determining the length of time according to the time when the data storage device is powered on. 根據申請專利範圍第8項之資料維護方法,其中決定上述時間長度的步驟更包括根據上述區塊被抹除之次數決定上述時間長度。According to the data maintenance method of claim 8, wherein the step of determining the length of time further comprises determining the length of time according to the number of times the block is erased.
TW102146530A 2013-08-06 2013-12-17 Data storage device and data maintenance method thereof TWI490870B (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201410322810.9A CN104346236B (en) 2013-08-06 2014-07-08 Data storage device and data maintenance method thereof
US14/330,566 US9368226B2 (en) 2013-08-06 2014-07-14 Data storage device and method for restricting access thereof
KR1020140098309A KR101677532B1 (en) 2013-08-06 2014-07-31 Data storage device and method for restricting access thereof
JP2014160778A JP5986607B2 (en) 2013-08-06 2014-08-06 Data storage device and data maintenance method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201361862858P 2013-08-06 2013-08-06

Publications (2)

Publication Number Publication Date
TW201506939A TW201506939A (en) 2015-02-16
TWI490870B true TWI490870B (en) 2015-07-01

Family

ID=53019470

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102146530A TWI490870B (en) 2013-08-06 2013-12-17 Data storage device and data maintenance method thereof

Country Status (2)

Country Link
KR (1) KR101677532B1 (en)
TW (1) TWI490870B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI753777B (en) * 2020-11-05 2022-01-21 旺宏電子股份有限公司 Memory device with memory controller and data retention thereof

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6396744B1 (en) * 2000-04-25 2002-05-28 Multi Level Memory Technology Flash memory with dynamic refresh
US7079422B1 (en) * 2000-04-25 2006-07-18 Samsung Electronics Co., Ltd. Periodic refresh operations for non-volatile multiple-bit-per-cell memory
US20090327581A1 (en) * 2008-06-30 2009-12-31 Coulson Richard L Nand memory
TW201027541A (en) * 2008-12-18 2010-07-16 Sandisk Corp Data refresh for non-volatile storage
TW201037721A (en) * 2008-12-30 2010-10-16 Numonyx Bv Temperature alert and low rate refresh for a non-volatile memory
TW201113694A (en) * 2009-06-29 2011-04-16 Sandisk Corp Method and device for selectively refreshing a region of a memory of a data storage device
TW201145287A (en) * 2009-12-02 2011-12-16 Numonyx Bv Refresh architecture and algorithm for non-volatile memories
TWI355583B (en) * 2003-10-28 2012-01-01 Sandisk Corp Internal maintenance schedule request for non-vola
TW201232553A (en) * 2010-12-08 2012-08-01 Avocent Corp System and method for autonomous NAND refresh
US20130007344A1 (en) * 2011-07-01 2013-01-03 Belgal Hanmant P Apparatus, System, and Method for Refreshing Non-volatile Memory
US20130055046A1 (en) * 2011-08-31 2013-02-28 Greg A. Blodgett Memory refresh methods and apparatuses

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310888A (en) * 2007-06-15 2008-12-25 Panasonic Corp Non-volatile semiconductor storage device
JP2009251627A (en) * 2008-04-01 2009-10-29 Panasonic Corp Memory controller, nonvolatile storage device, and nonvolatile storage system
JP5349256B2 (en) * 2009-11-06 2013-11-20 株式会社東芝 Memory system
JP2012221025A (en) * 2011-04-05 2012-11-12 Nec Casio Mobile Communications Ltd Backup notification system for data held by flash memory, and method and program for the same

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6396744B1 (en) * 2000-04-25 2002-05-28 Multi Level Memory Technology Flash memory with dynamic refresh
US7079422B1 (en) * 2000-04-25 2006-07-18 Samsung Electronics Co., Ltd. Periodic refresh operations for non-volatile multiple-bit-per-cell memory
TWI355583B (en) * 2003-10-28 2012-01-01 Sandisk Corp Internal maintenance schedule request for non-vola
US20090327581A1 (en) * 2008-06-30 2009-12-31 Coulson Richard L Nand memory
TW201027541A (en) * 2008-12-18 2010-07-16 Sandisk Corp Data refresh for non-volatile storage
TW201037721A (en) * 2008-12-30 2010-10-16 Numonyx Bv Temperature alert and low rate refresh for a non-volatile memory
TW201113694A (en) * 2009-06-29 2011-04-16 Sandisk Corp Method and device for selectively refreshing a region of a memory of a data storage device
TW201145287A (en) * 2009-12-02 2011-12-16 Numonyx Bv Refresh architecture and algorithm for non-volatile memories
TW201232553A (en) * 2010-12-08 2012-08-01 Avocent Corp System and method for autonomous NAND refresh
US20130007344A1 (en) * 2011-07-01 2013-01-03 Belgal Hanmant P Apparatus, System, and Method for Refreshing Non-volatile Memory
US20130055046A1 (en) * 2011-08-31 2013-02-28 Greg A. Blodgett Memory refresh methods and apparatuses

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Yu Cai; Yalcin, G.; Mutlu, O.; Haratsch, E.F.; Cristal, A.; Unsal, O.S.; Ken Mai, "Flash correct-and-refresh: Retention-aware error management for increased flash memory lifetime," Computer Design (ICCD), 2012 IEEE 30th International Conference on , pp.94-101, Sept. 30 2012-Oct. 3 2012 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI753777B (en) * 2020-11-05 2022-01-21 旺宏電子股份有限公司 Memory device with memory controller and data retention thereof

Also Published As

Publication number Publication date
TW201506939A (en) 2015-02-16
KR20150017301A (en) 2015-02-16
KR101677532B1 (en) 2016-11-18

Similar Documents

Publication Publication Date Title
TWI517181B (en) Data storage device and data maintenance method thereof
TWI607312B (en) Data storage device and data writing method thereof
US9368226B2 (en) Data storage device and method for restricting access thereof
US9922706B2 (en) Solid state storage device using state prediction method
TWI602116B (en) Data storage device and data maintenance method thereof
TWI569144B (en) Data storage device and power-interruption detection method thereof
TWI571742B (en) Data storage device and data maintenance method
US8848448B2 (en) Semiconductor memory device and operating method thereof
TWI550616B (en) Flash memory apparatus and initialization method for programming operation thereof
KR20170111657A (en) Semiconductor memory device and operating method thereof
TWI484332B (en) Solid state storage system for uniformly using memory area and method controlling the same
TWI490870B (en) Data storage device and data maintenance method thereof
TWI501245B (en) Data reading method, and control circuit, memory module and memory storage apparatus and memory module using the same
CN113539345A (en) Adjusting trim settings to improve memory performance or reliability
TWI482161B (en) Data storage device and voltage protection method thereof
TWI607442B (en) Methods,systems and computer readable media for adaptively programming or erasing flash memory blocks
TWI566094B (en) Data storage device and data refresh method thereof
CN106328202B (en) Flash memory device and data erasing method
TWI640868B (en) Data storage device and data writing method thereof
TWI585769B (en) Data storage device and detection method for flash memory
TWI639946B (en) Data storage device and data maintenance method thereof
TWI545586B (en) Data storage device and method for restricting access thereof
TWI650641B (en) Storage device and refresh method
TWI644250B (en) Electronic system and data maintenance method thereof
JP2015191567A (en) semiconductor memory device