TWI517181B - 資料儲存裝置及其資料維護方法 - Google Patents
資料儲存裝置及其資料維護方法 Download PDFInfo
- Publication number
- TWI517181B TWI517181B TW102147386A TW102147386A TWI517181B TW I517181 B TWI517181 B TW I517181B TW 102147386 A TW102147386 A TW 102147386A TW 102147386 A TW102147386 A TW 102147386A TW I517181 B TWI517181 B TW I517181B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- temperature
- controller
- blocks
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G11C16/107—Programming all cells in an array, sector or block to the same state prior to flash erasing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
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)
Description
本發明係關於一種記憶體裝置之資料維護方法;特別係關於一種自動監控快閃記憶體參數之資料維護方法。
快閃記憶體為一種普遍的非揮發性資料儲存裝置,係以電性方式抹除與程式化。以非及閘型的快閃記憶體(即NAND FLASH)為例,常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)、嵌入式快閃記憶體模組(eMMC)…等使用。
快閃記憶體(如,NAND FLASH)的儲存陣列包括複數個區塊(blocks),其中浮置閘極電晶體可用以構成快閃記憶體。浮置閘極電晶體中之浮置閘極,可捕捉的電荷以儲存資料。然而,儲存於浮置閘極之電荷會由於快閃記憶體之操作以及各種環境參數,自浮置閘極流失,造成資料保存(Dara retention)之問題。
本發明提供一種資料儲存裝置包括一快閃記憶體、一溫度感測裝置以及一控制器。溫度感測裝置用以偵測周圍之環境溫度,以產生隨著環境溫度變化之溫度參數。控制器被配置為用以在一既定時間,讀取溫度感測裝置以獲得一目前
溫度,並依序比較目前溫度與相應於每一區塊之複數寫入溫度,其中控制器更被配置為用以將相應於寫入溫度中之至少一第一寫入溫度之區塊中之至少一第一區塊的資料,寫入區塊中之至少一第三區塊,其中第一寫入溫度與目前溫度的差大於一既定值。
其中,每一區塊分別具有一實體區塊以及一邏輯區塊,並且寫入溫度係相應於區塊中之邏輯區塊。在一實施例中,快閃記憶體更包括一寫入溫度對應表,用以儲存每一邏輯區塊之寫入溫度。控制器更被配置為用以在對區塊中之一第三區塊進行一資料寫入動作後,將執行寫入動作時的溫度作為相應於第三區塊之邏輯區塊的寫入溫度寫入寫入溫度對應表。
在另一實施例中,快閃記憶體更包括一實體邏輯區塊對應表,控制器更被配置為用以修改實體邏輯區塊對應表,以分別將第一區塊之邏輯區塊映射至所寫入之第三區塊之實體區塊。值得注意的是,既定時間可為控制器閒置時、控制器閒置時之每隔一既定週期、控制器完成一寫入動作或者一讀取動作時等等。
本發明亦提供一種資料維護方法,適用於具有一快閃記憶體之一資料儲存裝置,其中快閃記憶體具有複數區塊。資料維護方法包括:週期性地分別確認相應於每一區塊之複數寫入溫度與一目前溫度之差,是否大於一既定值;以及將相應於寫入溫度中之至少一第一寫入溫度之區塊中之至少一第一區塊的資料,寫入區塊中之至少一第三區塊,其中第一寫入溫度與目前溫度的差大於既定值。
其中,每一區塊分別具有一實體區塊以及一邏輯區塊,並且寫入溫度係相應於區塊中之邏輯區塊。資料維護方法更包括:在對區塊中之一第三區塊進行一資料寫入動作後,將執行寫入動作時的溫度作為相應於第三區塊之邏輯區塊的寫入溫度寫入一寫入溫度對應表;以及修改一實體邏輯區塊對應表,以分別將第一區塊之邏輯區塊映射至所寫入之第三區塊之實體區塊。值得注意的是,既定時間可為控制器閒置時、控制器閒置時之每隔一既定週期、控制器完成一寫入動作或者一讀取動作時等等。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
165‧‧‧隨機存取記憶體
166‧‧‧計時裝置
180‧‧‧快閃記憶體
190‧‧‧溫度感測裝置
S202~S206、S300~S306、S400~S408‧‧‧步驟
第1圖係本發明之一種實施例之電子系統之方塊圖。
第2圖係本發明之一種實施例之資料維護方法之流程圖。
第3圖係本發明之另一種實施例之資料維護方法之流程圖。
第4圖係本發明之一種實施例之資料維護方法之流程圖。
以下將詳細討論本發明各種實施例之裝置及使用方法。然而值得注意的是,本發明所提供之許多可行的發明概念可實施在各種特定範圍中。這些特定實施例僅用於舉例說明本發明之裝置及使用方法,但非用於限定本發明之範圍。
第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周圍之環境溫度。
另外,快閃記憶體180更用以儲存至少一參數對照表以及一掃描條件表。在一實施例中,參數對照表用以儲存在不同之環境溫度下,執行下一次維護程序所間隔的時間,但本發明不限於此。在其他實施例中,參數對照表亦包括在不同之環境溫度、不同錯誤位元數、更新之區塊的不同數量、資料儲
存裝置140最後一次被一主機120存取之不同時間、資料儲存裝置140上電之不同時間及/或區塊被抹除之不同次數所相應的執行下一次維護程序所間隔的時間。掃描條件表用以儲存相應於不同錯誤位元數及/或更新之區塊的不同數量的掃描條件。舉例而言,掃描條件可為錯誤位元臨界值,但本發明不限於此。在其他實施例中,掃描條件亦可為不同之錯誤修正碼等等。在另一實施例中,快閃記憶體180用以儲存一參數函式以及一掃描條件函式。在本實施例中,執行下一次維護程序所間隔的時間係由參數函式所決定的。舉例而言,根據不同之環境溫度,對參數函式進行運算,可獲得不同之執行下一次維護程序所間隔的時間,但本發明不限於此。在其他實施例中,參數函式亦可根據不同之環境溫度、不同錯誤位元數、更新之區塊的不同數量、資料儲存裝置140最後一次被一主機120存取之不同時間、資料儲存裝置140上電之不同時間及/或區塊被抹除之不同次數,決定所相應的執行下一次維護程序所間隔的時間。另外,掃描條件函式系用以根據不同錯誤位元數及/或更新之區塊的不同數量,決定不同之掃描條件。值得注意的是,越高之環境溫度、錯誤位元數、更新區塊的數量、資料儲存裝置140上電之時間以及區塊被抹除不同次數,相應於越短之下一次維護程序所間隔的時間。越高之錯誤位元數以及更新區塊的數量,相應於越低之錯誤位元臨界值。
在一實施例中,控制器160被配置為用以在資料儲存裝置140上電一預設時間後,執行一第一維護程序。在本實施例中,預設時間為一既定之時間,但本發明不限於此。舉例
而言,預設時間可為4分鐘或者5分鐘,本發明不限於此。在第一維護程序中,控制器160被配置為讀取溫度感測裝置190以獲得一第一溫度參數,根據一第一既定條件決定一第一時間長度,以及對區塊進行一第一區塊掃描以獲得分別相應於區塊之複數第一錯誤位元數。在一實施例中,第一既定條件包括第一溫度參數,但本發明不限於此。在其他實施例中,第一既定條件亦可包括資料儲存裝置140最後一次被一主機120存取之時間、資料儲存裝置140上電之時間及/或區塊被抹除之次數。控制器160被配置為可在第一維護程序中,根據參數對照表或者參數函式,決定第一時間長度,以在第一維護程序結束第一時間長度後,執行第二維護程序。值得注意的是,第一既定條件中之參數皆係目前的數據。因此,第一維護程序中之參數可能不同於第二維護程序中之參數,第二維護程序中之參數可能不同於第三維護程序中之參數。在某些情況下,不同維護程序中之參數可能相同。舉例而言,在第二維護程序以及第三維護程序之間,主機120並未對快閃記憶體180進行抹除時,第二維護程序以及第三維護程序中之”區塊被抹除之次數”則相同。反之,在第二維護程序以及第三維護程序之間,主機120對快閃記憶體180進行抹除時,第二維護程序以及第三維護程序中之”區塊被抹除之次數”則不相同。值得注意的是,控制器160更被配置為用以對相應於超過一既定錯誤位元臨界值之第一錯誤位元數的區塊,進行更新。在本實施例中,既定錯誤位元臨界值為一既定之臨界值,但本發明不限於此。
在另一實施例中,在預設時間中,控制器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分鐘後執行,依此類推。
控制器160更被配置為用以在第一維護程序結束
之第一時間長度後,執行第二維護程序。在第二維護程序中,控制器160被配置為讀取溫度感測裝置190以獲得一第二溫度參數、根據一第二既定條件以及一第一歷史紀錄決定一第二時間長度以執行一第三維護程序、以及根據第一歷史紀錄決定一第一錯誤位元臨界值並藉以對區塊進行一第二區塊掃描。在一實施例中,第二既定條件包括第二溫度參數,並且第一歷史紀錄包括第一錯誤位元數以及在第一維護程序中被更新之區塊的數量,但本發明不限於此。在其他實施例中,第二既定條件亦可包括資料儲存裝置140最後一次被一主機120存取之時間、資料儲存裝置140上電之時間及/或區塊被抹除之次數。控制器160被配置為可在第二維護程序中,根據參數對照表或者參數函式,決定第二時間長度,以在第二維護程序結束第二時間長度後,執行第三維護程序。值得注意的是,第一既定條件中之參數皆係目前的數據,並且第三維護程序與第二維護程序之操作相同。同理,第三維護程序亦會決定一第三時間長度以決定開始執行第四維護程序之時間,並且決定一第二錯誤位元臨界值以對區塊進行一第三區塊掃描,第四維護程序之操作亦與第二維護程序相同,依此類推。值得注意的是,控制器160更被配置為用以對相應於超過一第一錯誤位元臨界值之第二錯誤位元數的區塊,進行更新。
值得注意的是,當控制器160被配置為可將區塊掃描之結果(例如,錯誤位元數或者所更新之區塊數)或者區塊被抹除之次數(PE count)等,儲存至快閃記憶體180中之特定區塊,以提供維護程序進行運算,但本發明不限於此。在區塊掃
描的過程,控制器160被配置為依序掃描快閃記憶體180中之每一區塊,以獲得分別相應於每一區塊的錯誤位元數。詳細而言,控制器160被配置為依序讀取快閃記憶體180中之每一區塊,並在讀取區塊的過程中,獲得分別相應於所讀取之區塊之錯誤驗證(Error Correction;ECC)的錯誤位元數。接著,控制器160更被配置為用以更新(Read Refresh或者Read Retirement)相應於超過臨界值之錯誤位元數的區塊,例如既定錯誤位元臨界值以及第一錯誤位元臨界值、第二錯誤位元臨界值等等。值得注意的是,錯誤位元臨界值係小於或者等於錯誤驗證(ECC)所能允許之錯誤位元的最大值。舉例而言,當錯誤驗證只能修正小於43bit之錯誤位元時,錯誤臨界值則可為35bit或者38bit,但本發明不限於此。熟知本領域之技術人員,可藉由本發明之教示,根據所使用之錯誤驗證(ECC),將錯誤臨界值設計為小於或者等於錯誤驗證(ECC)所能允許之錯誤位元的最大值。
在另一實施例中,控制器160係被配置為用以在一既定時間,執行一查表維護程序。在查表維護程序中,控制器160被配置為讀取溫度感測裝置190以獲得一目前溫度,並依序比較目前溫度與相應於每一區塊之複數寫入溫度。接著,控制器160更被配置為用以將相應於寫入溫度中之至少一第一寫入溫度之區塊中之至少一第一區塊的資料,寫入區塊中之至少一第三區塊,其中第一寫入溫度與目前溫度的差大於一既定值。換言之,控制器160更被配置為用以將寫入溫度與目前溫度相差大於一既定值之區塊的資料,更新(Read Refresh或者Read
Retirement)至另一可寫入之區塊中。
值得注意的是,查表維護程序所執行之時間可為控制器160閒置時、控制器160閒置時之每隔一既定週期、控制器160完成一寫入動作或者一讀取動作後等,本發明不限於此。舉例而言,既定週期可為1秒、2秒、3秒、1分鐘、10分鐘等等,本發明不限於此。另外,若控制器160在執行查表維護程序時自主機120接收到命令,控制器160則將查表維護程序目前之進度儲存至快閃記憶體180或者隨機存取記憶體165中,並在控制器160執行完主機120之命令後,根據所儲存之進度,繼續完成剩餘之查表維護程序。在另一實施例中,查表維護程序所執行之時間亦可緊接在第一維護程序、第二維護程序以及第三維護程序之後,或者查表維護程序可包括於第一維護程序、第二維護程序以及第三維護程序之中。
另外,快閃記憶體180中之每一區塊分別具有一實體區塊以及一邏輯區塊,控制器160以及快閃記憶體180可藉由邏輯區塊找到相應的實體區塊,其中快閃記憶體180更包括一實體邏輯區塊對應表,用以儲存邏輯區塊以及實體區塊間的映射關係。
在一實施例中,寫入溫度係相應於區塊中之邏輯區塊。舉例而言,快閃記憶體180更包括一寫入溫度對應表,用以儲存每一邏輯區塊之寫入溫度。因此,控制器160係被配置為藉由寫入溫度對應表,得知邏輯區塊的所相應寫入溫度,並藉由實體邏輯區塊對應表,得知邏輯區塊所相應的實體區塊,以獲得實體區塊的寫入溫度,但本發明不限於此。在另一
實施例中,寫入溫度對應表,可用以儲存實體區塊之寫入溫度。
另外,控制器160系被配置為將寫入溫度對應表載入隨機存取記憶體165中執行,並在閒置或者更改寫入溫度對應表後,將隨機存取記憶體165中之寫入溫度對應表回存至快閃記憶體180,但本發明不限於此。
值得注意的是,在本實施例中,控制器160更被配置為用以在每一寫入動作後,將執行寫入動作時的溫度作為相應於所寫入區塊的寫入溫度,並將其寫入寫入溫度對應表。另外,在一實施例中,不具有資料之區塊的寫入溫度可為一既定值,並且控制器可根據該既定值判斷相應的區塊不具有資料,但本發明不限於此。在其他實施例中,不具有資料之區塊亦可維持上一次被寫入資料的寫入溫度。
另外,控制器160更被配置為用以在將寫入溫度與目前溫度相差大於一既定值之區塊的資料搬移至另一可寫入之區塊後,修改實體邏輯區塊對應表,以分將寫入溫度與目前溫度相差大於一既定值之區塊的邏輯區塊映射至所寫入之其他區塊的實體區塊。
第2圖係本發明之一種實施例之資料維護方法之流程圖。資料維護方法適用於第1圖所示之資料儲存裝置140。流程開始於步驟S202。
在步驟S202中,控制器160被配置為用以在資料儲存裝置140上電一預設時間後,開始執行第一次維護程序,例如上述之第一維護程序。在本實施例中,預設時間為一既定之時間,但本發明不限於此。舉例而言,預設時間可為4分鐘或
者5分鐘,本發明不限於此。在第一次維護程序中,控制器160被配置為讀取溫度感測裝置190以獲得一目前溫度,根據一第一既定條件決定一時間長度,以及對區塊進行一區塊掃描以獲得分別相應於區塊之複數錯誤位元數。在一實施例中,第一既定條件包括目前溫度,但本發明不限於此。在其他實施例中,第一既定條件亦可包括資料儲存裝置140最後一次被一主機120存取之時間、資料儲存裝置140上電之時間及/或區塊被抹除之次數。控制器160可被配置為在第一維護程序中,根據參數對照表或者參數函式,決定時間長度,以在第一次護程序結束該時間長度後,執行週期維護程序,例如第一維護程序、第二維護程序、第三維護程序等等。值得注意的是,第一既定條件中之參數皆係目前的數據。值得注意的是,控制器160更被配置為用以對相應於超過一既定錯誤位元臨界值之第一錯誤位元數的區塊,進行更新。在本實施例中,既定錯誤位元臨界值為一既定之臨界值,但本發明不限於此。
接著,一時間長度後,控制器160被配置為開始執行後續之週期維護程序。舉例而言,在第一次維護程序結束在步驟S202中所決定之一時間長度後,控制器160被配置為執行第二維護程序。首先,在步驟S204中,控制器160被配置為讀取溫度感測裝置190以獲得目前溫度、根據目前既定條件以及一歷史紀錄決定一另一時間長度以執行一下次週期維護程序、以及根據歷史紀錄決定一錯誤位元臨界值。在一實施例中,目前既定條件包括目前溫度,並且歷史紀錄包括上一次區塊掃描之錯誤位元數以及在上一次維護程序中被更新之區塊
的數量,但本發明不限於此。在其他實施例中,目前既定條件亦可包括資料儲存裝置140最後一次被一主機120存取之時間、資料儲存裝置140上電之時間及/或區塊被抹除之次數。控制器160被配置為可在維護程序中,根據參數對照表或者參數函式,決定時間長度,以在目前維護程序結束該時間長度後,執行下一次維護程序。
接著,在步驟S206中,控制器160被配置為根據錯誤位元臨界值,對區塊進行一區塊掃描,其中控制器160被配置為對區塊進行區塊掃描以獲得分別相應於區塊之複數錯誤位元數,並對相應於超過錯誤位元臨界值之錯誤位元數的區塊,進行更新。接著,流程回到步驟S204。
第3圖係本發明之一種實施例之資料維護方法之流程圖。資料維護方法適用於第1圖所示之資料儲存裝置140。流程開始於步驟S300。值得注意的是第3圖所示之資料維護方法相似於第2圖所示之資料維護方法,除了步驟S300。因此,步驟S302-S306請參考步驟S202-S206的說明,在此不再贅述。
在步驟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分鐘後執行,依此類推。
第4圖係本發明之一種實施例之資料維護方法之流程圖。資料維護方法適用於第1圖所示之資料儲存裝置140,用以在一既定時間,執行一查表維護程序(步驟S400~S408)。值得注意的是,查表維護程序所執行之時間可為控制器160閒置時、控制器160閒置時之每隔一既定週期、控制器160完成一寫入動作或者一讀取動作後等,本發明不限於此。舉例而言,既定週期可為1秒、2秒、3秒、1分鐘、10分鐘等等,本發明不
限於此。另外,若控制器160在執行查表維護程序時自主機120接收到命令,控制器160則被配置為將查表維護程序目前之進度儲存至快閃記憶體180或者隨機存取記憶體165中,並在控制器160執行完主機120之命令後,根據所儲存之進度,繼續完成剩餘之查表維護程序。在另一實施例中,查表維護程序所執行之時間亦可緊接在第一維護程序、第二維護程序以及第三維護程序之後,或者查表維護程序可包括於第一維護程序、第二維護程序以及第三維護程序之中。流程開始於步驟S400。
在步驟S400中,控制器160被配置為讀取溫度感測裝置190以獲得一目前溫度。
接著,在步驟S402中,控制器160被配置為開始分別依序確認目前溫度與每一區塊之寫入溫度的差是否大於一既定值。在一實施例中,既定值可為攝氏50度,但本發明不限於此。在其他實施例中,既定值亦可為攝氏30度~100度中之任一有理數。在一實施例中,控制器160係被配置為依序讀取寫入溫度對應表中所有邏輯區塊的寫入溫度,並將所讀取的寫入溫度與目前溫度進行比較。當目前溫度與寫入溫度的差大於既定值時,流程進行至步驟S404;否則,流程進行至步驟S408。
在步驟S404中,控制器160被配置為將寫入溫度與目前溫度之差大於既定值的區塊中的資料,自原區塊之實體區塊,寫入(更新至)其他實體區塊中。
接著,在步驟S406中,控制器160被配置為修改實體邏輯區塊對應表以及寫入溫度對應表。詳細而言,控制器160被配置為修改實體邏輯區塊對應表,以將原區塊之邏輯區塊映
射至所寫入之實體區塊的位址。另外,控制器160被配置為修改寫入溫度對應表,以將原邏輯區塊所相應之寫入溫度,更新為在步驟S404中寫入資料時的溫度。
接著,在步驟S408中,控制器160被配置為判斷是否比較完寫入溫度對應表中所有邏輯區塊的寫入溫度。當所有寫入溫度都比較完時,流程結束於步驟S408;否則,流程回到步驟S402。
由上述可知,資料儲存裝置140以及資料維護方法可記錄寫入資料時的溫度,並將區塊進行更新。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,
摘要部分和標題僅是用來輔助專利文件搜尋之用,並非用來限制本發明之權利範圍。
100‧‧‧電子系統
120‧‧‧主機
140‧‧‧資料儲存裝置
160‧‧‧控制器
162‧‧‧運算單元
164‧‧‧永久記憶體
165‧‧‧隨機存取記憶體
166‧‧‧計時裝置
180‧‧‧快閃記憶體
190‧‧‧溫度感測裝置
Claims (15)
- 一種資料儲存裝置,包括:一快閃記憶體,具有複數區塊;一溫度感測裝置,用以偵測周圍之環境溫度,以產生隨著環境溫度變化之溫度參數;以及一控制器,被配置為用以在一既定時間,讀取上述溫度感測裝置以獲得一目前溫度,並依序比較上述目前溫度與相應於每一上述區塊之複數寫入溫度,其中上述控制器更被配置為用以將相應於上述寫入溫度中之至少一第一寫入溫度之上述區塊中之至少一第一區塊的資料,寫入上述區塊中之至少一第三區塊,其中上述第一寫入溫度與上述目前溫度的差大於一既定值。
- 根據申請專利範圍第1項之資料儲存裝置,其中每一上述區塊分別具有一實體區塊以及一邏輯區塊,並且上述寫入溫度係相應於上述區塊中之上述邏輯區塊。
- 根據申請專利範圍第2項之資料儲存裝置,其中在上述快閃記憶體更包括一寫入溫度對應表,用以儲存每一上述邏輯區塊之上述寫入溫度。
- 根據申請專利範圍第3項之資料儲存裝置,其中上述控制器更被配置為用以在對上述區塊中之一第三區塊進行一資料寫入動作後,將執行上述寫入動作時的溫度作為相應於上述第三區塊之上述邏輯區塊的上述寫入溫度寫入上述寫入溫度對應表。
- 根據申請專利範圍第3項之資料儲存裝置,其中上述快閃記 憶體更包括一實體邏輯區塊對應表,上述控制器更被配置為用以修改上述實體邏輯區塊對應表,以分別將上述第一區塊之邏輯區塊映射至所寫入之上述第三區塊之實體區塊。
- 根據申請專利範圍第1項之資料儲存裝置,其中上述既定時間係上述控制器閒置時。
- 根據申請專利範圍第1項之資料儲存裝置,其中上述既定時間係上述控制器閒置時之每隔一既定週期。
- 根據申請專利範圍第1項之資料儲存裝置,其中上述既定時間係上述控制器完成一寫入動作或者一讀取動作時。
- 一種資料維護方法,適用於具有一快閃記憶體之一資料儲存裝置,其中上述快閃記憶體具有複數區塊,並且資料維護方法包括:在一既定時間,確認相應於每一上述區塊之複數寫入溫度與一目前溫度之差,是否大於一既定值,其中上述寫入溫度系為上述區塊中之資料寫入時的溫度;以及將相應於上述寫入溫度中之至少一第一寫入溫度之上述區塊中之至少一第一區塊的資料,寫入上述區塊中之至少一第三區塊,其中上述第一寫入溫度與上述目前溫度的差大於上述既定值。
- 根據申請專利範圍第9項之資料維護方法,其中每一上述區塊分別具有一實體區塊以及一邏輯區塊,並且上述寫入溫度係相應於上述區塊中之上述邏輯區塊。
- 根據申請專利範圍第10項之資料維護方法,更包括在對上 述區塊中之一第三區塊進行一資料寫入動作後,將執行上述寫入動作時的溫度作為相應於上述第三區塊之上述邏輯區塊的上述寫入溫度寫入一寫入溫度對應表。
- 根據申請專利範圍第11項之資料維護方法,更包括修改一實體邏輯區塊對應表,以分別將上述第一區塊之邏輯區塊映射至所寫入之上述第三區塊之實體區塊。
- 根據申請專利範圍第9項之資料維護方法,其中上述既定時間係上述控制器閒置時。
- 根據申請專利範圍第9項之資料維護方法,其中上述既定時間係上述控制器閒置時之每隔一既定週期。
- 根據申請專利範圍第9項之資料維護方法,其中上述既定時間係上述控制器完成一寫入動作或者一讀取動作時。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102147386A TWI517181B (zh) | 2013-12-20 | 2013-12-20 | 資料儲存裝置及其資料維護方法 |
CN201410093916.6A CN104731522A (zh) | 2013-12-20 | 2014-03-14 | 数据储存装置及其数据维护方法 |
US14/503,938 US20150178001A1 (en) | 2013-12-20 | 2014-10-01 | Data Storage Device and Data Maintenance Method Thereof |
KR1020140183536A KR20150073109A (ko) | 2013-12-20 | 2014-12-18 | 데이터 저장 디바이스 및 그 데이터 유지 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102147386A TWI517181B (zh) | 2013-12-20 | 2013-12-20 | 資料儲存裝置及其資料維護方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201526019A TW201526019A (zh) | 2015-07-01 |
TWI517181B true TWI517181B (zh) | 2016-01-11 |
Family
ID=53400062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102147386A TWI517181B (zh) | 2013-12-20 | 2013-12-20 | 資料儲存裝置及其資料維護方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150178001A1 (zh) |
KR (1) | KR20150073109A (zh) |
CN (1) | CN104731522A (zh) |
TW (1) | TWI517181B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201347B (zh) * | 2016-07-04 | 2019-07-26 | 联想(北京)有限公司 | 信息处理方法及固态硬盘 |
TWI602116B (zh) * | 2017-03-07 | 2017-10-11 | Silicon Motion Inc | 資料儲存裝置及其資料維護方法 |
CN109358979B (zh) * | 2018-09-17 | 2021-10-12 | 至誉科技(武汉)有限公司 | 温差均衡方法在数据纠错中的应用、***及存储介质 |
CN109284201A (zh) * | 2018-09-17 | 2019-01-29 | 至誉科技(武汉)有限公司 | 温度均衡数据恢复方法以及***、存储介质 |
CN109445982A (zh) * | 2018-09-17 | 2019-03-08 | 至誉科技(武汉)有限公司 | 实现数据可靠读写的数据存储装置 |
CN109375869A (zh) * | 2018-09-17 | 2019-02-22 | 至誉科技(武汉)有限公司 | 实现数据可靠读写的方法以及***、存储介质 |
CN110007874B (zh) * | 2019-04-15 | 2022-07-05 | 深圳大学 | 一种三维闪存的数据写入方法、装置及可读存储介质 |
CN111158604B (zh) * | 2019-12-31 | 2022-02-11 | 西南科技大学 | 一种闪存颗粒阵列的物联网时间序列数据存储与检索方法 |
CN112035060B (zh) * | 2020-08-17 | 2024-04-26 | 合肥康芯威存储技术有限公司 | 一种存储介质的错误检测方法、***及存储*** |
CN113643746B (zh) * | 2021-07-02 | 2023-09-26 | 深圳市宏旺微电子有限公司 | 闪存数据的分析方法、装置、终端设备及存储介质 |
KR20230033414A (ko) * | 2021-09-01 | 2023-03-08 | 삼성전자주식회사 | 메모리 장치의 구동 방법 및 이를 수행하는 메모리 장치 |
US20240028248A1 (en) * | 2022-07-19 | 2024-01-25 | Micron Technology, Inc. | Cross-temperature mitigation in a memory system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7827450B1 (en) * | 2006-11-28 | 2010-11-02 | Marvell International Ltd. | Defect detection and handling for memory based on pilot cells |
CN201210325Y (zh) * | 2008-06-13 | 2009-03-18 | 航天信息股份有限公司 | 移动存储设备 |
US8472274B2 (en) * | 2011-03-02 | 2013-06-25 | Apple Inc. | Using temperature sensors with a memory device |
US8787105B2 (en) * | 2012-05-10 | 2014-07-22 | Nanya Technology Corporation | Dynamic random access memory with multiple thermal sensors disposed therein and control method thereof |
-
2013
- 2013-12-20 TW TW102147386A patent/TWI517181B/zh active
-
2014
- 2014-03-14 CN CN201410093916.6A patent/CN104731522A/zh active Pending
- 2014-10-01 US US14/503,938 patent/US20150178001A1/en not_active Abandoned
- 2014-12-18 KR KR1020140183536A patent/KR20150073109A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
TW201526019A (zh) | 2015-07-01 |
KR20150073109A (ko) | 2015-06-30 |
CN104731522A (zh) | 2015-06-24 |
US20150178001A1 (en) | 2015-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI517181B (zh) | 資料儲存裝置及其資料維護方法 | |
US10573389B2 (en) | Storage device having parameter calibration function, and operating method thereof | |
US9922706B2 (en) | Solid state storage device using state prediction method | |
TWI607312B (zh) | 資料儲存裝置及其資料寫入方法 | |
US9318215B2 (en) | Systems and methods to update reference voltages of non-volatile memory | |
KR102508868B1 (ko) | 플래시 메모리에 대한 리프레시 관리 | |
KR102420161B1 (ko) | 메모리 컨트롤러 및 그것의 제어 방법 | |
Cooke | The inconvenient truths of NAND flash memory | |
US9368226B2 (en) | Data storage device and method for restricting access thereof | |
TWI569144B (zh) | 資料儲存裝置及其斷電事件判斷方法 | |
TWI686811B (zh) | 包括複數個記憶體區域的記憶體系統和操作該記憶體系統的方法 | |
TWI515737B (zh) | 資料儲存裝置以及其資料抹除方法 | |
US9030878B2 (en) | Semiconductor memory device including a plurality of cell strings, memory system including the same, and control method thereof | |
TW201601062A (zh) | 快閃記憶體控制裝置、快閃記憶體控制系統以及快閃記憶體控制方法 | |
US8848448B2 (en) | Semiconductor memory device and operating method thereof | |
KR101038991B1 (ko) | 메모리 영역의 균등한 사용을 위한 반도체 스토리지 시스템및 그 제어 방법 | |
JP5604313B2 (ja) | メモリアクセス制御装置 | |
WO2013108456A1 (ja) | 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法 | |
US20240071440A1 (en) | Determining read voltage offset in memory devices | |
TWI490870B (zh) | 資料儲存裝置及其資料維護方法 | |
TWI607442B (zh) | 用於適應性地程式化或抹除快閃記憶體區塊的方法、系統和電腦可讀取媒體 | |
US9105346B2 (en) | Semiconductor device and method for operating the same | |
TWI566094B (zh) | 資料儲存裝置及其資料更新方法 | |
TWI615849B (zh) | 在非揮發性儲存裝置上提升資料耐久性之控制方法 | |
TWI585769B (zh) | 資料儲存裝置以及快閃記憶體之偵測方法 |