TW201015581A - Non-volatile storage device and control method thereof - Google Patents

Non-volatile storage device and control method thereof Download PDF

Info

Publication number
TW201015581A
TW201015581A TW97137824A TW97137824A TW201015581A TW 201015581 A TW201015581 A TW 201015581A TW 97137824 A TW97137824 A TW 97137824A TW 97137824 A TW97137824 A TW 97137824A TW 201015581 A TW201015581 A TW 201015581A
Authority
TW
Taiwan
Prior art keywords
memory
block
static
erase
erasing
Prior art date
Application number
TW97137824A
Other languages
Chinese (zh)
Inventor
Ming-Dar Chen
Hsiang-An Hsieh
Chuan-Sheng Lin
Original Assignee
A Data Technology Co Ltd
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 A Data Technology Co Ltd filed Critical A Data Technology Co Ltd
Priority to TW97137824A priority Critical patent/TW201015581A/en
Publication of TW201015581A publication Critical patent/TW201015581A/en

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

This invention supplies a wear-leveling storage device and control method thereof. It statistics the erase time of all blocks in storage device in order to manage the distribution of blocks' erase time, and then uses the standard deviation to decide when to erase and the frequency of static wear-leveling. By doing this, it is effective to avoid excessive static wear-leveling which reduces accessing rate and life-time of the flash storage device. By recording the total erase time of flash storage device and the erase time stamp of blocks, it is easy to judge blocks which storage static data, and then remove the static data to blocks which have the highest erase time so as to release the original blocks which storage static data and avoid improperly static wear-leveling.

Description

201015581 九、發明說明: 【發明所屬之技術領域】 本發明涉及-種祕發性存齡置,尤其涉及—觀贿儲裝置。 本發明涉及-種祕雜讀裝置_财法,狀料—種 性裝置的靜態抹除平均方法。 【先前技術】 非揮發性(Non-WatUe)存齡目前已廣泛翻於電腦系統及可攜式電 子裝置中’其特點是即使電源供應中斷,存儲器所儲存的資料並不會消失, 並且重新供電後,又能夠讀取存儲器中的資料。 快閃存儲器(Flashmemory)為為非揮發性存儲元件的一種,由於利用快 閃存儲器作為存儲媒體,其具有低耗電、高存取速率、耐震及重量輕等優 點,因此已逐漸地取代部分傳統的硬碟裝置,而廣泛的被使用在電腦系統 及可機式電子裝置的存赌單元。 快閃存儲器内有-記憶細胞陣列,陣列上包括複數個記憶細胞(_町 她)。快閃存㈣湘這些記憶細胞來存儲電荷,藉此記錄寫人的資料。 而決閃存儲器中的記憶細胞陣列被規劃成複數個記憶區塊,每個記憶區塊 _ 秘_«齡將的單位;又記Μ塊進-倾_成複數個記 隐頁每個δ己憶頁為快閃存儲器讀寫資料的單位。在快閃存儲器上執行更 新資料的過程中,存㈣資料的記舰塊上的記憶細麟進行抹除資料的 動作’也就是記憶細胞將承受高電壓以槪其所存错的電荷。然而,記憶 細胞承受高電壓以釋放電荷的動作,會磨耗記憶細胞的材料強度而造成記 憶細胞老化,使嫌_無法可存寫人龍··電荷量。由於 快閃存餘器是透過感測記憶細胞上的電荷量來讀取記憶細胞陣列上的資 料,因此,若記憶細胞無法正確的儲存相關資料的有效電荷量在讀取快 閃存儲器的資料時,就會讀取到錯誤的資料。 、 201015581 通常在决門存儲器上的存儲資料可分為動態資料 態資料為常更新的資料,例如:樓案配置表,該些動態資料將 δ己憶區塊中被更新;而靜_料為很少、甚至财更新的資料,例如··系 統的程式碼、細程柄,這些㈣存人記舰塊後,通常很少、甚至不 會被更新。因此,動態資料所_的記倾塊較㈣資料所侧的記憶 塊更頻繁被,也意味較快速的_耗,造赫雌 魅 塊比存儲靜態資制記_塊更早細_命紐,喊早職使= 命極限的記憶區塊即為快閃存儲器中的損毀區塊。 ❿ -般記憶_的壽命以其可抹除次數作參考,通f為丨萬_ 1〇萬次 之間。若沒有平均使雜畴_中的記舰塊,部分記龍塊會因過产 磨耗而較其他記躯塊提早到達制壽命紐。這獅情赌造成快閃^ 健器因產生過多損毀區塊而無法再提供存财料的魏但其實快閃存儲 ,中還有部分記憶區塊,如存餅態資料触憶區塊,仍有相當長的使用 壽命。 。所以為了充分發揮快閃存儲器應有的使用壽命,現有技術提出快閃存 ^器抹除平均的技術’使資料寫人快畴儲糾,可平均的·快閃存儲 11中的各記憶區塊,讓各記憶區塊的被抹除次數(使用壽命)接近,藉此使快 閃存儲器發揮應有的使用壽命。 θ抹除平均技術包括動態抹除平均及靜態抹除平均。動態抹除平均主要 =在有資料要寫人綱存顧時,在㈣存上鮮—抹社數最少的 工的5己憶區塊來記錄該筆資料,以避免集中使用某些記憶區塊。然而,動 態抹除平均僅能_部份記舰塊除平均,是快閃存儲器中某些 記憶區塊被靜態資料佔用,如前述,由於這些資料為很少甚至從不更新的 資料,因此被魏資料佔㈣記舰舰少被槪ώ來供新資料寫入的使 用所以即使快閃存储器上使用動態抹除平均的技術,仍會有記憶區塊使 用不平均的情形發生。 201015581 因此’除了祕抹除平均技魏外,额要糊靜態絲平均的方法 來解決靜態資料佔用記憶區塊的問題,以達到較佳的抹除平均的效果。而 靜態抹除平均技齡要是在資料寫人時,或是㈣存儲m時將靜態 資料由原先佔用的記憶區塊搬移至快閃存儲器中抹除次數最高的記憶區 塊,然後抹除原記憶區塊,以釋放原存儲靜態資料的記憶區塊供新資料的 寫入。如此-來,被靜態資料所佔用的抹除次數高的記憶區塊,將因為其 存儲靜態餅稱低其再被使㈣機會,而縣鎌態資料細而抹除次 &較低__塊’將_放供㈣寫人個。藉此,整麵畴儲器的 Φ 記憶區塊將趨於平均的被使用,讓每個記憶區塊的被抹除次數都能接近其 耐抹除次數,而充分發揮快閃存儲器的使用壽命。 次然而,在執行靜態抹除平均時,需先辨識各記憶區塊中何者存儲靜態 貝料,才糾執;fr靜態資馳移的動作。—舰有技術為輯記憶區塊的 抹除次數蚊義靜態資料,其因為靜態資料為鮮少被更新的資料,所以靜 態資料所在的記憶_概_齡較彡,雜除錄鑛低。這樣 的判斷方法仍有其風險,目除:域低❸記腿塊在執行靜態抹除平均 後’有可能所存_是_資料,但由於此時該記憶區塊的抹除次數仍然 較低,所以動Μ料會被當作靜態龍,#再次執行靜態抹除平均的動作 ® 時>,即把存儲在抹除次數較低的記憶區塊中的動態資料搬移至抹除次數高 的。己隱區塊’而增加抹除次數高的記憶區塊再被抹除的機會,進而使抹除 -入數兩的S己憶區塊的抹除情況更為嚴重。 i再者,靜ϋ抹除平均在執辦,其執行靜態雜搬移的動作(資料寫入 新記憶區塊’接著抹除舊記憶區塊)並非縣資料寫人㈣存儲器時會執行 的動作,所以資料搬移所花費的時間及絲記憶區塊的所造成的磨耗,對 决閃存儲ϋ來說’都算是因為靜態抹除平均而產生的額外負擔。所以,若 沒有良好的管賴製來糊靜態抹除平均職行雜過於頻繁、不當的 靜I、抹除平均將影響快閃存儲器的存取效率且無法有效發揮快閃存儲器 201015581 應有的使用壽命。 現有技術在判斷何時執行靜態抹除平均的方法有幾種:一種如美國第 6,230,233號專利所公開的記錄所有記憶區塊的抹除次數,當發現最高抹除 次數的s己憶區塊與最低抹除次數的記憶區塊間的抹除次數相差一預設值 時,即執行靜態抹除平均。還有一種是根據記憶區塊的抹除次數與全部記 憶區塊的平均抹除次數的抹除次數差來決定靜態抹除平均的執行時機。又 種方法如美國第6,732,221號專利所公開的快閃存儲器經過一預設數目的 抹除動作後,即執行靜態抹除動作。201015581 IX. INSTRUCTIONS: [Technical field to which the invention pertains] The present invention relates to a secretive age-setting device, and more particularly to a bribe storage device. The present invention relates to a method for static erasing of a type of miscellaneous reading device. [Prior Art] The non-volatile (Non-WatUe) age is now widely used in computer systems and portable electronic devices. 'The characteristic is that even if the power supply is interrupted, the data stored in the memory will not disappear, and the power will be re-powered. After that, the data in the memory can be read again. Flash memory (Flashmemory) is a kind of non-volatile storage element. Because it uses flash memory as a storage medium, it has the advantages of low power consumption, high access rate, shock resistance and light weight, so it has gradually replaced some traditions. The hard disk device is widely used in the computer system and the gambling unit of the machine type electronic device. There is a memory cell array in the flash memory, and the array includes a plurality of memory cells (_machi). Fast flash (four) Xiang memory cells to store the charge, thereby recording the person's information. The memory cell array in the flash memory is planned into a plurality of memory blocks, each of which is a unit of _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ The page is the unit for reading and writing data in the flash memory. In the process of executing the update data on the flash memory, the memory of the memory block on the block of the data is erased by the memory of the memory block, that is, the memory cell will withstand a high voltage to charge the wrong charge. However, the action of the memory cells to withstand high voltages to release the charge will abrade the material strength of the memory cells and cause the aging of the memory cells, making it impossible to save the amount of charge. Since the flash memory device reads the data on the memory cell array by sensing the amount of charge on the memory cells, if the memory cells cannot properly store the effective charge amount of the relevant data when reading the data of the flash memory, The wrong data will be read. , 201015581 Generally, the stored data on the memory of the door can be divided into the data of the dynamic data state, such as: the configuration list of the building, the dynamic data will be updated in the block of the recalled area; Very few, even financially updated materials, such as the system's code, fine-handle handles, these (four) after the record of the ship, usually rarely, or even will not be updated. Therefore, the dynamic data _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ The memory block that calls the premature job to make the limit is the damaged block in the flash memory. ❿ - The life of _ memory _ is based on its erasable number of references, the pass f is between 10,000 and 10,000. If there is no average block in the hybrid domain _, some of the dragon blocks will reach the life threshold earlier than other body blocks due to over-production wear. This lion gamble caused the flash to flash. The health device could not provide the stored materials because of the excessive damage of the block. However, there are still some memory blocks, such as the cake state data touch block. Has a very long service life. . Therefore, in order to give full play to the service life of the flash memory, the prior art proposes a technique for erasing the average of the flash memory device, so that the data can be stored in a fast domain, and the memory blocks in the flash memory 11 can be averaged. Let the erased times (lifetime) of each memory block be close, thereby making the flash memory play its due life. The θ erase averaging technique includes dynamic erase averaging and static erase averaging. Dynamic erasing average mainly = when there is data to write human resources, in the (four) save the freshest - the least number of workers in the 5 memory blocks to record the data to avoid the use of certain memory blocks . However, the dynamic erase averaging can only be divided into averaging, and some memory blocks in the flash memory are occupied by static data. As mentioned above, since these data are rarely or never updated, they are Wei data accounted for (4) the ship was rarely used for new data writes. So even if the dynamic erase averaging technique is used on the flash memory, there will still be an uneven use of memory blocks. 201015581 Therefore, in addition to the secret erase of the average technique, the amount of static silk is averaged to solve the problem of static data occupying the memory block to achieve better erase average effect. The static erasing average technology age is when the data is written, or (4) when the m is stored, the static data is moved from the originally occupied memory block to the memory block with the highest erasure frequency in the flash memory, and then the original memory is erased. Block to release the memory block that originally stored the static data for the writing of new data. In this way, the memory block occupied by the static data with a high number of erasures will be given a lower (4) chance because it stores the static cake, and the county state data is finely erased & lower __ The block 'will be released (four) to write one. Therefore, the Φ memory blocks of the entire domain memory will tend to be used evenly, so that the erased times of each memory block can be close to the number of erasure times, and the life of the flash memory is fully utilized. . However, when performing static erase averaging, it is necessary to first identify which of the memory blocks stores static beakers, and then correct the operation; —The ship has the technology to erase the static data of the memory block. Because the static data is rarely updated data, the memory of the static data is relatively old, and the miscellaneous is low. There is still a risk in such a judgment method. Except that the domain low-lying block is after the static erasing average is performed, it is possible to store the data, but since the number of erasures of the memory block is still low, Therefore, the dynamic material will be treated as a static dragon. #Perform the static erase averaging action® again>, that is, move the dynamic data stored in the memory block with a lower erase frequency to the high erase frequency. The hidden block ’ increases the chance that the erased block is erased and the erased block of the erased-input number is more serious. In addition, the static erase is performed on the average, and the action of performing the static miscellaneous movement (the data is written into the new memory block and then the old memory block is erased) is not the action that will be performed when the county data writer (4) is stored. Therefore, the time spent on data transfer and the wear caused by the silk memory block are considered to be an additional burden due to static erase averaging. Therefore, if there is no good management system, the static erase of the average job is too frequent, the improper static I, the erase average will affect the access efficiency of the flash memory and can not effectively use the flash memory 201015581. life. In the prior art, there are several methods for judging when to perform static erasing averaging: a method of recording the erasure times of all memory blocks as disclosed in U.S. Patent No. 6,230,233, and finding the highest erasure number of the suffix block and the lowest The static erase averaging is performed when the number of erasures between the memory blocks of the erased count differs by a predetermined value. Another is to determine the execution timing of the static erase averaging based on the difference between the number of erasures of the memory block and the number of erases of the average number of erases of all the blocks. Still another method, such as the flash memory disclosed in U.S. Patent No. 6,732,221, performs a static erase operation after a predetermined number of erase operations.

然而,上述的方法雖有考慮到快閃存儲器經過一段時間的寫入更新動 作後’有可能發生記憶區塊使用不平均的情形;但是,僅以記憶區塊間的 抹除次數差、記憶區塊的抹除次數與全部區塊的平均抹除次數的抹除次數 差,以及已發生的抹除動作數目來判斷執行靜態抹除平均的時機,皆無法 真正掌握記憶區塊的抹除次數分佈的情況。 【發明内容】 為能較佳的管理靜態抹除技術,確實達到有效延長快閃存儲器使用壽 命的功效’本發明提供—種可酿轉態絲平均_财法,可根據所 有記憶區塊的抹除錄的分賴況,執行適當的魏抹除悄的動作,有 效改善現有非揮發性存儲裝置在執行靜態抹除時對快閃存儲器的使用壽命 及存取效能的影響。 本發崎供—_晴職料財法,除了輯記塊馳除次數 進"'步根據該^料在記憶區塊中的時間長短來判斷記憶區塊中所 5中己的ΐϋί否為靜態資料。由於動態資料常被更新,所以存放在記憶區塊 資料拋短’姆雜轉性’可在執行觸絲平均選擇峨區塊作 以避’選擇抹除次數較少且資料存放的時間較長的記憶區塊。藉此 免執仃靜輯除平_,鑛_資機移·較數高的記憶區塊。 201015581 本發明提供一種執行靜態抹除平均的方法,利用統計快閃存儲器中各 記憶區塊的抹除次數來監控記憶區塊的抹除次數的分佈情形,再判斷記憶 區塊抹除次數的標準差的大小,調整靜態抹除平均的執行頻率與範圍,使 多數的記憶區塊的抹除次數可接近全部記憶區塊的抹除次數的平均值。藉 此,減少因靜態抹除平均對快閃存儲器存取效能所帶來的影響,以及達到 充分發揮快閃存儲器使用壽命的功效。 為實現上述目的,本發明揭露一種非揮發性存儲裝置的控制方法。該 控制方法包括如下步驟:首先,統計所有記憶區塊的抹除次數;接著根據 Φ 該統計結果,計算該記憶區塊抹除次數分佈的標準差,並由該標準差確定 靜態抹除平均的模式。 作為本發明的進一步改進,本發明非揮發性存儲裝置的控制方法中該 抹除平均的模式更包括如下步驟:首先,至少預設一標準差的門檻值;接 著,判斷該抹除次數分佈的標準差是否大於該門框值,若大於該門樓值, 則執行少數抹除動作後交換大量存儲靜態資料的記憶區塊,否則,執行若 干抹除動作後交換少量存儲靜態資料的記憶區域不進行抹除平均動作。 為實現上述目的,本發明揭露一種非揮發性存儲裝置。該存儲裝置包 括若干記憶區塊和-靜態抹除平均裝置,其中該靜態抹除平均裝置包括: ® —存儲單元’驗存制有記題塊馳除讀;-控鮮元,用於從存 T單元中獲取所有記籠塊的抹除次數,並根制有織區制抹除次數 得到抹除次數分佈的標準差,然後根據所述標準差決定執行靜態抹除平均 的程度。 另外,本發明的非揮發性存儲裝置所包含的控制單元還用於設定一標 準差門檻值’且所述控制單元決定執行靜態抹除平均的程度模式包括:判 斷標準差衫擔所朗難;如果小於,職行第—她除動作後, 交換第-批存放靜態資料的記顏塊’如果大於,則執行第二次數的抹除 動作後’交換第二批存放靜態資料的記憶區塊。 201015581 與現有技術相比,本發明的效果是充分發揮非揮發性存縣置_右 度,可更有效提升非揮發4==標準嫩抹除平均的程 六姊料“ h 的存錯效能’避免過度抹除平均增加 存儲器權,也可獅除繼存㈣的使用棒 【實施方式】 為糾實發揮靜態抹除平均的功效,本發明利用統計學上的方法來掌 控减&麟除缝的分佈叙,錢錄行賴猶平均的方式。 參 標準差在齡崎巾最常聽統計分_度(她細disp_)上 的測量’其可反映群組内個體間的離散程度。簡單來說,標準差是一 值自平均值分賴來雜度的—_量理念。—個較標準差,代表大 部分的數蚌其悄紅間絲歓;-触顿鮮差 較接近平均值。 ^一聚俚 標準差的公式為:However, although the above method considers that the flash memory may be unevenly used after a period of writing and updating operations; however, only the erasure frequency difference between the memory blocks and the memory area are used. The difference between the number of erasures of the block and the number of erasures of the average erasure times of all the blocks, and the number of erasure actions that have occurred to determine the timing of performing the static erasure average, cannot truly grasp the distribution of the erasure times of the memory block. Case. [Summary of the Invention] In order to better manage the static erasing technology, it is effective to effectively extend the life of the flash memory. The present invention provides an average of the traversable filaments, which can be based on the wipe of all memory blocks. In addition to the recorded status, the appropriate Wei erase action is performed to effectively improve the impact of the existing non-volatile memory device on the lifetime and access performance of the flash memory during static erasing. This is issued by the Japanese-Sakisaki---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Static data. Since the dynamic data is often updated, the data stored in the memory block is short, and the average of the touches can be selected to avoid the selection of the erased times and the storage of the data for a long time. Memory block. In this way, the static block is removed, and the mine is moved to a higher memory block. 201015581 The present invention provides a method for performing static erasing averaging, which uses the erasing times of each memory block in the statistical flash memory to monitor the distribution of the erasing times of the memory block, and then judges the standard of the erasing frequency of the memory block. The difference in size, adjust the execution frequency and range of the static erase average, so that the erase count of most memory blocks can be close to the average of the erase times of all memory blocks. As a result, the effect of the static erase on the flash memory access performance is reduced, and the lifetime of the flash memory is fully utilized. To achieve the above object, the present invention discloses a method of controlling a non-volatile memory device. The control method includes the following steps: first, counting the erasure times of all memory blocks; then calculating the standard deviation of the memory block erasure frequency distribution according to the Φ statistical result, and determining the static erase average by the standard deviation mode. As a further improvement of the present invention, the mode of erasing the averaging in the control method of the non-volatile memory device of the present invention further comprises the steps of: first, at least setting a threshold value of one standard deviation; and then determining the distribution of the number of erasures If the standard deviation is greater than the value of the door frame, if it is greater than the value of the door building, a large number of memory blocks for storing static data are exchanged after performing a few erasing actions; otherwise, a memory area for exchanging a small amount of stored static data after performing some erasing actions is not wiped. Except for the average action. To achieve the above object, the present invention discloses a non-volatile memory device. The storage device comprises a plurality of memory blocks and a static erasing averaging device, wherein the static erasing averaging device comprises: a storage unit having a record block rushing read; a control element for storing The number of erasures of all the cage blocks is obtained in the T unit, and the standard deviation of the erased number distribution is obtained by rooting the number of erasures, and then the degree of static erasure is performed according to the standard deviation. In addition, the control unit included in the non-volatile memory device of the present invention is further configured to set a standard deviation threshold value and the control unit determines the degree pattern of performing static erase averaging: determining that the standard deviation shirt is difficult; If it is less than, the job line - she exchanges the first block of the block data of the static data after the action, if it is greater than, then performs the second number of erase operations and then exchanges the second block of memory blocks for storing static data. 201015581 Compared with the prior art, the effect of the invention is to fully exert the non-volatile storage county-right degree, which can more effectively improve the non-volatile 4== standard tender erased average process of the six-material "h mis-performance" Avoid excessive erasure of the average increase in memory rights, but also the use of lions to save (four) use of the implementation method [Embodiment] For the correction of the effect of static erase averaging, the present invention uses statistical methods to control the reduction & The distribution of the narration, the way the money is recorded on the average. The standard deviation in the measurement of the most common statistical _ degrees (she fine disp_) in the ages of the squad, which can reflect the degree of dispersion between individuals within the group. Simple Said that the standard deviation is a value from the average to the degree of heterogeneity - _ quantity concept. - a standard deviation, which represents the majority of the number of 悄 悄 歓 歓 歓; ^ The formula for the standard deviation of a cluster is:

NN

N j)2 其中xl,…,xN皆為實數,而平均值的算法為: ΈN j)2 where xl,...,xN are all real numbers, and the algorithm for the mean is:

Xi 舉{2,3,4,6’7,8}與{0,1,3,7,9,10}兩個數字的集合來說,其平均值皆為5, 但{2,3,4,6,7,8}的標準差為 2.16(2.160246899469287),{〇,1,3,7,9,1〇}的標準差 為3.87(3.872983346207417)。雖然兩組集合平均值皆為5,但由標準^可 知,{2,3’4,6,7,8}的標準差較小,表示各數值的分佈較為集中, 的標準差較大’表示各數值的分佈較為分散。 ’ 本發明即利用這種統計方法透過程序上的安排來監控各記憶區塊的抹 201015581 除次數的分佈程度’絲行不雜度曝態抹辭均。接下如2q個記憶 區塊的抹除次數分佈情況,來說明本發明執行靜態抹除平均的方法。"吻 假設各記憶區塊的抹除次數第一分佈情況表如下所示: 記憶區塊(BA) 1 2 3 4 5 6 7 8 9 10 抹除次數(EC) 50 45 45 55 50 45 50 55 50 55 記憶區塊(BA) 11 12 13 14 15 16 17 18 19 20 抹除次數(EC) 50 45 55 50 45 50 50 45 55 55Xi gives {2,3,4,6'7,8} and {0,1,3,7,9,10} a set of two numbers, the average is 5, but {2,3, The standard deviation of 4,6,7,8} is 2.16 (2.160246899469287), and the standard deviation of {〇,1,3,7,9,1〇} is 3.87 (3.872983346207417). Although the average value of the two sets is 5, the standard deviation of {2,3'4,6,7,8} is small, indicating that the distribution of each value is concentrated, and the standard deviation is larger. The distribution of the values is relatively scattered. The present invention utilizes this statistical method to monitor the distribution of the number of times of the smearing of each memory block by the procedural arrangement of 201015581. Next, the distribution of the number of erasures, such as 2q memory blocks, is followed to illustrate the method of performing static erase averaging in the present invention. " Kiss assumes that the first distribution of the number of erasures for each memory block is as follows: Memory Block (BA) 1 2 3 4 5 6 7 8 9 10 Number of erasures (EC) 50 45 45 55 50 45 50 55 50 55 Memory block (BA) 11 12 13 14 15 16 17 18 19 20 Number of erasures (EC) 50 45 55 50 45 50 50 45 55 55

❹ 將上表轉換成各記憶區塊抹除次數分佈圖如圖丨所示。由圖丨可發現 由於各記憶區塊的抹除次數(Erasecount,EC)都相當接近,所以由各點連成 的曲線起伏相當小,也就是表示各記憶區塊為平均的被使用。藉由統計各 s己憶區塊的抹除次數’可求得其平均值為50,標準差為3.973597。而抹除 次數與記憶區塊數目(Block Count,BC)間的關係如圖2所示。由圖2可以更 清楚的看到各抹除次的記憶區塊數目,大部分的記憶區塊都集中於平均抹 除次數50次附近。 而若各記憶區塊的抹除次數如下第二分佈情況表所示: 記憶區塊(BA) 1 2 3 4 5 6 7 8 9 10 抹除次數(EC) 75 .35 45 40 70 55 40 65 25 30 記憶區塊(BA) 11 12 13 14 15 16 17 18 19 20 抹除次數田C) 50 65 70 45 30 50 55 75 60 25 將上表轉換成各記憶區塊抹除次數分佈圖如圖3所示。由圖3可發現 201015581 各記憶區塊的抹除次數其分佈範為分散,由各點所連成_線其起伏 較大,表祕麵舰制航較不料。在統計各記舰塊的抹除次數 t Γ求料平触為5〇.25,縣為16.5_82。轉献數與記憶 5塊數_〇也__間的關係,如圖4所示。由圖4可發現記憶區塊 y散分佈於不__缝上,其未向某悔除讀集巾,表示記憶區 塊被使用的情況相當不平均。❹ Convert the above table into the distribution of the number of erase blocks of each memory block as shown in the figure below. It can be found from the figure that since the erased times (Erasecount, EC) of each memory block are quite close, the curve undulating from each point is quite small, that is, the memory blocks are averaged and used. By counting the number of erasures of each sigma block, the average value is 50 and the standard deviation is 3.973597. The relationship between the number of erases and the number of blocks (Block Count, BC) is shown in Figure 2. The number of memory blocks for each erasing can be more clearly seen in Fig. 2. Most of the memory blocks are concentrated near the average number of erasures of 50 times. If the number of erasures of each memory block is as follows, the second distribution table is as follows: Memory block (BA) 1 2 3 4 5 6 7 8 9 10 Number of erasures (EC) 75 .35 45 40 70 55 40 65 25 30 Memory Block (BA) 11 12 13 14 15 16 17 18 19 20 Wipe Times C) 50 65 70 45 30 50 55 75 60 25 Convert the above table into the memory block. 3 is shown. It can be seen from Fig. 3 that the number of erasures of each memory block in 201015581 is distributed, and the undulation of each point is larger, and the surface of the ship is less than expected. In the statistics, the number of erasures of each block is t Γ. The level of contact is 5〇.25, and the county is 16.5_82. The relationship between the number of transfers and the number of memories 5 _ 〇 also __, as shown in Figure 4. It can be seen from Fig. 4 that the memory block y is distributed over the __ slit, and it is not read to the confession, indicating that the memory block is used rather unevenly.

承前述,-個較大的標準差,代表大部分的數值和其平均值的間差異 較大;-她顿鮮差,錄這魏錄接近平触分佈情 2其標準差為3.97359 ’其表示各記魅塊猶除讀的分佈情況較為集 I,而第二分佈情況的標準差為16姻綱,其表示各記憶區塊的抹除次 數的分佈情況較為分散。因此,快閃存儲器中各記憶區塊抹除次數的分佈, 係可透過凰控鮮差雜來客觀的躺其為集巾或錄,且可根據標準差 判斷記It區塊抹除缝的集巾(或分散賊’猜柯程度雜態抹 均。 接著以1000個5己憶區塊,其記憶細胞的財抹除次數為_〇次為例, W說明如何㈣獨的標準差執行不同程度的靜態抹除平均 。參考圖5、圖 6所不’首先為記憶區塊的抹除次數設定至少一標準差門檻值,在本實施模 式:共叹疋了二個標準差門檻值,假設為§1=0.5%、δ2=1%及δ3 = 1.5 %二個標準差門檻值,鮮為抹除次數則為%、 100、150次抹除次數,即 0〇〇〇χ〇.5% = 50 ’ ι〇〇0〇χ1%:=1〇〇,1〇〇〇〇χ1 5% = 15〇,用以執行不同程 度靜,抹除平均賴斷。預設三個鮮差觸值的情況下,係產生了四個 據統計實際記舰塊抹除次數的標準差麟果,來執行對應 的不同程度的靜態抹除平均的動作。 ^據前述平均值及鮮差崎算公^,麟所有減區塊的抹除次 ’可得到此時所魏__抹除錄的平均值M, 以及標準差δΓ。藉 此’便可以觸標準m人哪—動作區域 ,以執行適當的靜態抹除平均。 201015581 若1%的標準差δ2為期望值,也就是說,期望將大多數的記憶區塊的 抹除次數控制在抹除次數的平均值Μ加減100次的範圍間,所以,如果記 憶區塊的抹除次數偏離期望值太多,則控制元件會執行對應程度的靜態抹 除’使抹除次數重新控制在抹除次數的平均值Μ加減100次的範圍間。若 此時經統計後產生的標準差δΓ落入第一區域,也就是大多數記憶區塊的抹 除次數係分佈在平均值加減5〇次的範圍内,此時則無須執行靜態抹除平均 的動作。因為標準差δι·落入第一區域,其除了還未超過1%的標準差期望 值範圍,還表示記憶區塊的抹除次數的分佈情況相當平均,各記憶區塊的 ❹In the light of the above, a large standard deviation represents a large difference between most of the values and their average values; - she is very poor, and this Wei recorded close to the flat touch distribution 2 with a standard deviation of 3.97359 ' The distribution of the readings of the charm blocks is set to I, and the standard deviation of the second distribution is 16 marriages, which indicates that the distribution of the number of erasures of each memory block is relatively scattered. Therefore, the distribution of the number of erasures of each memory block in the flash memory can be objectively placed as a towel or recorded by the phoenix control, and the set of the erase block of the It block can be judged according to the standard deviation. Towels (or distracting thieves) guess the degree of miscellaneous wiping. Then take 1000 5 recall blocks, the number of memory cells is _ 〇 times as an example, W shows how (four) the standard deviation of the implementation of different degrees Static erasing average. Referring to Figure 5 and Figure 6, the threshold value of the memory block is set to at least one standard deviation threshold. In this mode, two standard deviation thresholds are sighed, assuming §1=0.5%, δ2=1% and δ3=1.5% two standard deviation thresholds, and the number of erasures is %, 100, 150 erasures, ie 0〇〇〇χ〇.5% = 50 ' ι〇〇0〇χ1%:=1〇〇,1〇〇〇〇χ1 5% = 15〇, used to perform different degrees of static, erase the average lag. Preset three fresh touches Next, the system produces four standard deviations of the number of erasing the actual number of pieces of the ship, to perform the corresponding degree of static erase averaging. The above-mentioned average value and the fresh-striped calculations ^, the erasing times of all the subtraction blocks of the lining can obtain the average value M of the __ erased at this time, and the standard deviation δ Γ. Thus, the standard m can be touched. The human-action area is used to perform the appropriate static erasure averaging. 201015581 If the standard deviation δ2 of 1% is the expected value, that is, it is desirable to control the erase count of most memory blocks to the average of the erase times. Μ Addition and subtraction between 100 ranges, so if the number of erases of the memory block deviates too much from the expected value, the control element will perform a corresponding degree of static erase 're-control the number of erases on the average of the number of erases. If the standard deviation δ produced by the statistics at this time falls into the first region, that is, the number of erasures of most memory blocks is distributed within the range of the average value plus or minus 5 times. It is not necessary to perform the action of static erasing averaging. Since the standard deviation δι· falls into the first region, it not only exceeds the standard deviation expected value range of 1%, but also indicates that the distribution of the number of erasures of the memory block is fairly average, and each memory Area The ❹

抹除次數比期望的目標更為集中,因此無須執行靜態抹除的動作來增加快 閃存儲器的負擔。 若標準差δι·落人第二區域,也就是大多數記憶區塊的抹除次數係分佈 在平均值Μ加減100次的範圍内。由於各記憶區塊的被抹除次數已將接近 標準差δ2=1%_望值’因此可適度的、少量的執行靜態抹除平均,以改 善各記憶區塊抹除缝不平觸航(辟差㈣增加表示各記舰間抹除 不平均的情魏來越贿)。卿,此時可設定靜態抹除平均的執行係在若 干次抹除動作(假設為Ε1續除動作)後,搬移少量存放靜態資料的記憶區 塊(假設為Β1個’將於後續段落再說明靜態抹除平均的動作)。藉此可在記 憶區塊抹除次數的分佈斜__料嚴重的情況下,適度控制各記憶 區塊抹除次數不平均的情況,而避免過度執行靜態抹除平均,增加不必要 的抹除動作及影響快閃存儲器存取效率。 右標準差δι·落入第三區域,也就是大多數記憶區塊的抹除次數係分佈 平均值Μ加減150次的範_。此時標準差&已超過標準差於=⑼, ^靜態抹除平均的執行可較標準差知_第二區域時更為頻繁讓各記 -品塊平均的被賴,以㈣各記麵塊的嫌讀分佈辟均的情形, =各記憶區塊猶除次齡平·Μ針。所以,鱗可設定靜態抹除平 々的執行為在若干次抹除動作(假設細次抹除動作,Ε2<職搬移幾 201015581 個存放靜態資料的記憶區塊(假設為B2個,B2 > B1)。藉此可在記憶區塊抹 除次數的分佈較不平均的情況下,執行程度較高的靜態抹除平均,以使各 記憶區塊可平均的被使用。 要是標準差δΓ在第三區域時所執行的靜態抹除平均仍無法有效控制抹 除次數不平均的情形,鮮差㈣紅第四區域,也就是大錄記憶區塊 的抹除次數將分佈在平均值Μ加減150次以上的範圍内。因此,在標準差 δΓ落入第四區域時’可設定靜態抹除平均的執行為在少數次抹除動作(假設 為Ε3次抹除動作,Ε3 <Ε2<Ε1)後,搬移數個存放靜態資料的記憶區觀假 φ 設為Β3個’ Β3 >Β2>Β1)。藉由大範圍、頻繁的執行靜態抹除平均,來使 各記憶區塊平均的被使用,_免某些記倾塊的壽命提早耗盡,而影響 了快閃存健器應有的最大有效壽命。 以上為舉例提供三個預設的標準差(δ卜δ2、δ3)來執行不同程度的靜態 抹除平均’以及不同程度的靜態抹除平均的執行鮮(ει、Ε2、明與搬移 區塊數(B1 Β2 Β3)。然而,標準差的值及數量、靜態抹除平均的執行頻 率與搬移區塊的數目係皆可視需求及_存儲⑽特性而調整,並非為本 發明技術的限制要求。 _ 4 4 ^為根翻標準錄行不服度的㈣抹除平均的絲® (請一並 ® 5)。百先對存儲裝置進行初始化動作,預設標準差門播值別㈣V步 >)並獲取丨綱心隨中所有記,隨塊的抹除次數(步称_3)。接著, 的所有·區塊的抹除次數計算標準差&(步驟_,並由該標 度的靜態抹除平 (步驟S107),則執行第-程度靜態抹除平均,別次抹 見·笛 記憶區塊(步驟S1〇9);若判斷sl<Sr,步驟sm), !執打第一程度靜態抹除平均,m ^ 驟sii9),·若判斷S2<Sr 料傻,父換B1個遽£塊(步 E2攻祕叙心▲—(步驟S127) ’則執行第三程度靜態抹除平均, ,、L父換B2個記憶區塊(步驟SU9);若判斷δΓ > δ3(步驟 201015581 牛則執行第四程度靜態抹除平均,E3次抹除動作後,交換B3個纪怜 ’並且EQ>E1>E2>E3 = 、徵之為藉崎各記__抹除次數,輯鮮差來執行不 ::度的靜態抹除平均,除可使每個記憶區塊平均的被使用而發揮快閃 有的使用壽命外,因為根據實際抹除次數分佈的情況來執行不同 能=影Ϊ抹Ϊ平均可改善現有靜態抹除平均技術對快閃存儲器存取效 〜。述可調式靜態抹除平均方法,可 7巾所述的快閃存儲 =效實現。該快閃存儲器包括有—控制單元、—存儲器和快閃記憶體。 子齡可狄在控制單元内,也可外接於控制單元聽記錄快閃存儲器 總的抹除次數和記憶區塊的抹除時間記號。其中控制單元包括有一控制單 兀,用於從存儲器獲取所有記憶區塊的抹除次數並根據所述抹除次數計算 抹除次數的鮮差,㈣蚊執行觸抹除平均_度;_單元還可從 存儲器獲取記憶區塊的最近一次的抹除時間標記並確定最近一次抹除的時 間標記最早的記魅输而騎述的記籠馳行雜齡平均的動作。 參 靜態抹除平均係搬移記憶區塊中的靜態資料至新記憶區塊存放,藉此 釋放因靜·«料佔用而造成抹除次數較少的記麵塊i此在執行靜態 抹除平均之前,必須先確認記憶區塊中所存的資料為靜態資料,才得以將 ^態資料絲至絲魏較細記舰财,喊少嫌次練高的記憶 區塊被使⑽齡’藉此減緩增加抹除次數較高的記麵塊麟除次數: 否則’若將執行靜態抹除平均後’存放在抹除次數較少的記憶區塊中的動 態資料再次搬移至抹除次數較高的記憶區塊中存放,將增加抹除次數較高 的記憶區塊再度被抹除賴會,而使猶她較高的記舰塊磨耗更嚴重。 所以’本發明還提供一種判斷記憶區塊中的資料是否為靜態資料的方 法,藉此可在執行靜態抹除平均時,正柄釋放存放靜態資料的記憶區塊, 將靜態資料搬移至抹除次數較高的記憶區塊存放。 如圖7所示,為一可執行可調式靜態抹除平均的快閃存儲器。該快閃 201015581 f儲器1由控制器13和快閃記憶趙15組成。其中控制器i3包含有一負責 ==除次數的計數器131、—記錄快閃儲存器總抹除次數的存 儲器133(或控制單元外接的存儲器17)和—控制單元135。 時j參Z:及圖8 ’本發明針對柄己憶區塊除了記錄其抹除次數外,同 時讀-抹除時間記雜asetimestamp)料記憶區塊經歷多少次抹除次 ==據’而該抹_記_—___丨抹_ =數¥ m啦生。當_存難i㈣記舰猶錄 =加_儲_抹除缝,存⑽1 _除錄 «錄在-存齡卿或Π)巾,鱗翻叫 制器丨3中或咖U外接咖♦蝴細i中發^器球控 區塊的動作時,除將累加後的總抹除次數記錄到存錯器133(或⑺外同 也瞒在發生抹除動作的記憶區塊的冗餘區域伽咖 抹除動作的記憶區塊的相關棚位上,作為記憶= 抹 '^ ’ 8所不各記憶區塊的抹除次數記錄在發生抹除動作的呓 憶區塊的冗餘區域(sparefieId),或邏輯/實體位址轉換表對應的搁位。° 門的2 算存觸㈣總抹除次數與各記__抹除時間記號 ❹ 間的差值,可得知該記憶區塊在最後一次被抹除後又經歷了多少次 儲器執打齡記舰塊_作,如此便可知伽義财师料存 該記憶區塊多久沒被更新。所以可在執行靜態抹除平均時,透過上述的方 法挑出久未猶_記舰塊,進硫健織區塊的資料崎放 憶區塊。其巾總抹除次數與各記舰塊猶除_記賴的差值,可透過 控制單元或一運算電路運算即可求得。 請參閱圖9及圖10,舉五個記憶區塊B〇、m、B2、B3、B4說 明靜態抹除平均_作。而时執行靜態抹除平均的時機為做,用The number of erases is more concentrated than the desired target, so there is no need to perform a static erase action to increase the burden on the flash memory. If the standard deviation δι· falls into the second region, that is, the number of erasures of most memory blocks is distributed within the range of the average value Μ plus or minus 100 times. Since the number of erasures of each memory block has approached the standard deviation δ2=1%_value, it is possible to perform a static erase averaging in a modest and small amount to improve the unevenness of the memory blocks. The difference (4) is an increase in the feeling of wiping out the unevenness between the ships. Qing, at this time, the static erase averaging execution system can move a small number of memory blocks storing static data after a number of erase operations (assuming Ε1 continuation action) (assuming Β1) will be explained in the following paragraphs. Statically erase the average action). In this way, in the case where the distribution of the number of erasures of the memory block is severe, the mode of controlling the number of erasures of each memory block is moderately controlled, and excessive static erasing is avoided, and unnecessary erasure is added. Actions and affect flash memory access efficiency. The right standard deviation δι· falls into the third region, that is, the number of erasures of most memory blocks is the average value Μ plus or minus 150 times. At this time, the standard deviation & has exceeded the standard deviation of = (9), ^ static erase averaging can be performed more frequently than the standard deviation _ the second region, so that the average of each note - the block is reliant, to (4) each face The situation in which the block's suspicion is distributed is the same as that of the memory block. Therefore, the scale can be set to statically erase the execution of the plaque for several erasing actions (assuming a detailed erasing action, Ε2< job shifts several 201015581 memory blocks for storing static data (assuming B2, B2 > B1) Therefore, in the case where the distribution of the erasing times of the memory blocks is less uneven, a higher static erasing average is performed, so that the memory blocks can be used evenly. If the standard deviation δ is in the third The static erase averaging performed in the region still cannot effectively control the situation in which the erasing times are not average. The fourth (the fourth) red area, that is, the erasing frequency of the large recording memory block will be distributed over the average value Μ plus or minus 150 times. Therefore, when the standard deviation δ falls into the fourth region, the execution of the static erasing average can be set to be after a few erasing actions (assuming Ε3 erasing actions, Ε3 <Ε2<Ε1) Move several memory areas that store static data. φ is set to Β3 'Β3 >Β2>Β1). By performing static erasing averaging on a large scale and frequently, the memory blocks are used on average, and the life of some of the dump blocks is exhausted early, which affects the maximum effective life of the flash memory. . The above provides three preset standard deviations (δ δ δ2, δ3) to perform different degrees of static erase averaging' and the implementation of different degrees of static erase averaging (ει, Ε2, Ming and moving blocks) (B1 Β2 Β3) However, the value and number of standard deviations, the execution frequency of the static erase averaging, and the number of moving blocks are all adjusted according to the requirements and _storage (10) characteristics, which are not limitations of the technical method of the present invention. 4 4 ^ For the roots of the standard record, the dissatisfaction (4) erase the average wire ® (please together with the 5). The first step is to initialize the storage device, preset the standard deviation door broadcast value (4) V step >) and Get all the notes in the heart of the class, and the number of erases with the block (step _3). Then, the number of erasures of all the blocks is calculated as the standard deviation & (step_, and the static erasure of the scale is removed (step S107), then the first degree static erasing average is performed, and the second erasing is performed. The flute memory block (step S1〇9); if judging sl < Sr, step sm), ! hit the first degree static erasing average, m ^ s sii9), if judging S2 < Sr is silly, the father changes B1遽 块 block (step E2 秘秘心心 ▲ - (step S127) 'then perform a third degree static erasing average, , L father replaces B2 memory blocks (step SU9); if judged δ Γ > δ3 ( Step 201015581 The cow performs a fourth degree static erasing average. After the E3 erasing action, the B3 pieces are exchanged and EQ>E1>E2>E3=, and the number of times is __ erasing times. The difference between the static erasing and the averaging of the degree: the degree of static erasure of each memory block is used, and the average life of each memory block is used, and the different energy can be performed according to the actual distribution of the number of erasures = The impact eraser averaging can improve the existing static erase averaging technique for flash memory access efficiency. The flash memory described in the 7 towel is effective. The flash memory includes a control unit, a memory, and a flash memory. The child can be in the control unit or externally connected to the control unit to listen to the recording flash memory. The total number of erasures and the erasure time of the memory block, wherein the control unit includes a control unit for obtaining the number of erasures of all the memory blocks from the memory and calculating the number of erasures according to the number of erasures. Poor, (4) mosquito execution touches the average _ degree; _ unit can also get the memory block's last erase time mark from the memory and determine the most recent erasure time mark the earliest enchantment and ride the record cage The action of averaging the average age. The static erasing averaging moves the static data in the memory block to the new memory block, thereby releasing the face block that is less erased due to the static material occupation. Before performing the static erase averaging, it is necessary to confirm that the data stored in the memory block is static data, and then the data of the state of the wire can be traced to the silk, and the memory block of the lesser and higher is called. Let (10) age' thereby slow down the number of facets with higher erase times: Otherwise 'if static erase is performed, the dynamic data stored in the memory block with less erased times is moved again to The memory block with a higher erase frequency will increase the memory block with a higher erase frequency and be erased again, which will make the higher ship block wear more serious. Therefore, the present invention also provides A method for judging whether the data in the memory block is static data, wherein when the static erasing average is performed, the memory block storing the static data is released by the positive handle, and the static data is moved to the memory area with a higher erasure frequency. Block storage As shown in Figure 7, it is a flash memory that can perform an adjustable static erase averaging. The flash 201015581 f memory 1 is composed of a controller 13 and a flash memory Zhao 15. The controller i3 includes a counter 131 responsible for == division times, a memory 133 (or a memory 17 external to the control unit) for recording the total number of erasures of the flash memory, and a control unit 135. When j refers to Z: and Figure 8 'The present invention for the handle recall block in addition to recording the number of erasures, while reading-erasing time to record asetimestamp) how many times the material memory block experienced erasure == The wipe _ _ ____ 丨 _ = a few ¥ m lasheng. When _ 存 难 i (four) 记 犹 录 = 加 加 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ In the operation of the ball control block in the thin i, the total number of erases after the accumulation is recorded to the error saver 133 (or (7) is also in the redundant area of the memory block in which the erase operation occurs. In the relevant booth of the memory block of the erasing action, as the memory = wipe '^ ' 8 the number of erases of each memory block is recorded in the redundant area (sparefieId) of the memory block in which the erase operation occurs. , or the corresponding position of the logical/physical address conversion table. ° The difference between the 2 counts of the gates (4) the total number of erases and the number of __ erased time marks ,, the memory block is known at the end After being erased, how many times have you experienced the storage of the ship's age block? This way, you can see how long the memory of the memory block has not been updated. So you can pass the static erase average. The above method picks up the data block that has not been used for a long time, and enters the sulphur-weaving block. The total number of wipes is the difference between the number of wipes and the number of blocks. It can be obtained through the control unit or an arithmetic circuit. Please refer to Figure 9 and Figure 10. Five memory blocks B〇, m, B2, B3, and B4 are used to describe the static erase average. The time to statically erase the average is done,

便說明靜態抹除平均的動作,本發明實際啟動靜態抹除平均的時機及程产 係如前述的方法來執行。 X 201015581 如圖9所示,記憶區塊BO、B1、B2、B3、B4 —開始的抹除次數Ec 皆為〇,而第一資料D卜第二資料D2及第三資料D3係分別存放於記憶區 塊B0、記憶區塊B1及記憶區塊B4,而記憶區塊B2及B3為空的記憶區塊 (freeblock)。由於係統端對快閃存儲器寫入、更新資料的動作係無法預測, 為便於了解靜/動態資料的更新動作,在此先預設已知第一資料D1及第二 資料D2為動態資料(較頻繁的被更新的資料),第三資料D3係為靜態資料 (較少被更新的資料)。 接著系統便開始執行資料更新的動作,首先更新記憶區塊B〇的第一資 參料D1,於是控制單元將更新的第一資料di寫入記憶區塊B2,然後抹除記 憶區塊B0。此時,控制單元上的計數器將快閃存儲器總抹除次數加一以 及更新s己憶區塊B0的狀態訊息,包括記錄記憶區塊bo的抹除次數ec〇=i 以及記錄抹除時間記號ET0=1(也就是現下快閃存儲器的總抹除次數)。承前 述,抹除次數EC與抹除時間記號ET兩個記錄可存放於邏輯/實體轉換表, 或該記憶區塊的冗餘區域。 接著系統仍更新第一資料D1 ’於是控制單元將更新的第一資料D1寫 入記憶區塊B3 ’然後抹除記憶區塊B2。這時候控制單元上的計數器再將快 閃存儲器總抹除次數加一,以及更新記憶區塊B2的狀態訊息,記憶區塊 • B2的抹除次數EC2=1以及抹除時間記號ET2=2。 依上述模式陸續更新第一資料D1及第二資料D2,在快閃存儲器的總 抹除次數到達七次的時候,記憶區塊B〇的抹除次數EC〇=2,抹除時間記號 ET0=4,記憶區塊則的抹除次數EC1=2,抹除時間記號ET1=7 ;記憶區塊 B2的抹除次數EC2=1,抹除時間記號ET2=2 ;記憶區塊B3的抹除次數 EC3=2,抹除時間記號ET3=6 ;及記憶區塊B4的抹除次數EC4=〇,抹除時 間§己號ET4=0。可發現記憶區塊B4在快閃存儲器的總抹除次數達七次時, 其仍未被抹除過,所以記憶區塊B4所存儲的資料至此仍未更新。 為使快閃存儲器中各記憶區塊平均的被使用,在此時執行靜態抹除平 201015581 均’將記憶區塊B4中的第三資料〇3搬移到抹除次數最多的空記憶區塊中 存儲放’以釋放記憶區塊B4及減少抹除次數最多的記憶區塊再被抹除的機 會。於是第三資料D3便由記憶區塊B4被複製到記憶區塊B3中存放,然 後抹除記憶區塊B4及更新記憶區塊B4的狀態訊息,抹除次數EC4=i,抹 除時間記號ET4=8。 接著請參閱圖10,在執行完第一次靜態抹除平均後,系統又陸續的更 新第一資料D1與第二資料D2 ’直到快閃存儲器的總抹除次數到達14次 時’將執行第二次的靜態抹除平均。而此時記憶區塊B〇的抹除次數EC〇=3, ❹ 抹除時間記號ET0=13 ;記憶區塊扪的抹除次數Εα=4,抹除時間記號 ET1-14 ’記憶區塊B2的抹除次數EC2=3 ’抹除時間記號ET2=12 ;記憶區 塊B3的抹除次數EC3=2,抹除時間記號ET3=6 ;及記憶區塊B4的抹除次 數EC4-2 ’抹除時間記號ΕΤ4=1〇。其中抹除次數最少的記憶區塊為記憶區 塊B3及B4 ’其抹除次數皆為兩次。 此時控制單元係根據計算記憶區塊的抹除時間記號與總抹除次數間的 差值,該值表示資料存在該記憶區塊經過多少次快閃存健器執行抹除記憶 區塊的動作,藉此可得知哪一個記憶區塊較久未被抹除,而得以正確的選 擇存儲靜態資料的記憶區塊並釋放的。因為,若有一筆資料經過多次快閃 ® 存聽抹_動作後而未因更新,即可騎該筆資料為靜態資料的可能性 極大。所以本發明利用記憶區塊的抹除時間記號與總抹除次數間的差值, 來判斷該記憶區塊所記錄的資料是否為靜態資料,可避免從抹除次數少但 存儲的資縣祕f料的記憶區塊+,將_資料_抹除次數高的空記 憶區塊,增加抹除次數高的記憶區塊再被抹除的機會。 所以’當記憶區塊B3及B4皆為兩次抹除次數,同為全存儲器區塊中 抹除次數最少兩個記憶區塊。接著便要根據記憶區塊的抹除時間記號與總 抹除次數間的差值來選擇執行靜態抹除平均的記憶區塊,此時快閃存儲器 的總抹除次數為I4,記憶區塊B3的抹除時間記號阳二6,所以記憶區塊 201015581 B3的抹除時間記號與總抹除次數間的差值B3AEC=14-6=8 ;記憶區塊B4 的抹除時間記號ET4=6,所以記憶區塊B4的抹除時間記號與總抹除次數間 的差值B4AEC=14-10=4。根據比較兩者的差值即可得知,記憶區塊B3距 上次被抹除的時間比記憶區塊B4還久,也就是記憶區塊B3中的資料比記 憶區塊B4中的資料還要久未被更新,所以記憶區塊B3中的資料較有可能 是靜態資料。因此在執行靜態抹除平均時,便將記憶區塊B3中的第三資料 D3複製到抹除次數最高的記憶區塊m中,接著抹除記憶區塊B3。如此一 來’因存放靜態資料而使抹除次數較少的記憶區塊阳將被釋放出來供使 用,而抹除次數較高的記憶區塊B1可因存放靜態資料而減少被抹除的機 會。 然而,若在執行第二次靜態抹除平均時,沒採用本發明利用記憶區塊 的抹除時間記絲絲除錄間的差絲選雜浦態抹除平均的記憶區 塊’很有可能將記憶區塊B4中的第一資料01複製到抹除次數較高的記憶 區塊B1 +,而第-資料D1係為動態資料(先前預設而得知),很有可能在 下-欠系統的寫人作業中被更新。如圖u所示,若在執行第二次靜態抹除平 均時複製記憶區塊B4的第-資料D1到抹除次數較高的記憶區塊m中, 而接下來纟酬好又接較新帛-資料m,結紋樣的靜態齡平均動作 不但沒有_絲次數較高的記憶區塊bi的抹除次數反*還增加原本抹 除次數就較兩的記憶區塊B1的抹除次數(EC1=5)。所以在執行靜態抹除平 均時,右沒有鱗纖區塊巾的資料是否為㈣賴將有可·把動態 =料搬到抹除情雜嚴重的記魅塊,而導顏記憶區塊更嚴重的被磨 損,而較其他記憶區塊提早到達使用壽命。 μ參閱圖I2,為本發珊態抹除平觸雜Η,以細雜抹除平均 的動作流程。承前述圖6執行靜態抹除平均的時機與程度的流程圖所示, 快閃存儲鎌據各記憶區塊的抹时佈航,在齡的時機齡適當程度 的靜態抹除平均。接著在執行靜態抹除平均時便如圖Η所示先根據各 201015581 §己憶區塊的抹除次數的記錄’找出快閃存儲器中抹除次數最低的記憶區塊 (步驟S201)。然後透過軟體或硬體電路的計算,可得知抹除次數最低的記 憶區塊的AEC(記憶區塊的抹除時間記號與總抹除次數間的差值)(步驟 S203) ’以便於判斷那一記憶區塊的資料較久未被更新。然後根據靜態抹除 平均的程度所需執行的記憶區塊數,複製抹除次數低且最高的記憶區 塊中的資料到抹除次數最高的空記憶區塊中(步驟S2〇5),若抹除次數最高 的空記憶區塊不夠·,職序取抹除次數次高的空記憶區塊來使用。接 著抹除已複製完成的記塊’以及根據抹除動作的發生更新快閃存健器 ❿ 心随躺總絲次數(倾S2G7)。更新總抹除缝後,記錄獅除的記 憶區塊的抹除次數及抹除時間記號(步驟伽9)。在該些最低抹除次數的記 憶區塊的抹除次數及抹除時間記號記錄好後,判斷是否完成所需執行資料 搬移的記麵舰目(轉S211)。絲絲錄㈣讎移的記憶區塊數 目’則重複上述步驟’執行搬移抹除次數最低的記憶區塊中的資料(根據靜 態抹除平均的抹除程度X步驟S213)。若已完成需要執行資料搬移的記憶區 塊數目,則結束靜態抹除平均的動作。 综上所述’本發明透過統計方法分析所有記憶區塊的抹除次數,以掌 控記舰塊被騎讀的分佈航,再蚊執行聽平均的時機與程 度#此避免過度執行靜態抹除平均而影響快閃存儲器的供存取速率以及 應有的壽命。再者,透過記錄快閃存儲器的總抹除次數與記憶區塊的抹除 時間磁’可JL確峨&存鮮態資料的記憶區塊,進珊靜態資料搬移 至抹除-人數較高的空記憶區塊,將原存儲靜態資料的記憶區塊釋放,可避 免不當的靜態抹除動作的發生。 准以上所述’僅為本發明的具體實施例的詳細說明及圖式而已並 非用以限制本發明,本發明的所有範圍應以下述的申請專利範圍為準,任 何熟悉該項技藝者在本發明的領域内,可輕易思及的變化或修飾皆可涵蓋 在以下本案所界疋的專利範圍。例如以上是以快閃械器為例進行的說 201015581 明,但本領域的普通技術人員可輕易想到的是,快閃存儲器為非揮發性存 儲器的一種,事實上,本發明也可應用於其他類型的非揮發性存儲器,如 EPROM (Erasable Programmable Read Only Memory,可抹除可編程唯讀記 憶體)、EEPROM (Electrically Erasable Programmable Read Only Memory,電 可抹除可編程唯讀記憶體)、PRAM(Phase-change Random Access Memory, 相變化隨機存儲器)、MRAM(Magnetic Random Access Memory,磁性隨機 存儲器)、FRAM(Ferroelectric Random Access Memory,鐵電隨機存儲器)等。The action of static erasing averaging is explained, and the timing and process of actually starting the static erasing averaging of the present invention are performed as described above. X 201015581 As shown in Figure 9, the erasure times Ec of the memory blocks BO, B1, B2, B3, B4 - are all 〇, and the first data D, the second data D2 and the third data D3 are respectively stored in The memory block B0, the memory block B1, and the memory block B4, and the memory blocks B2 and B3 are empty memory blocks (freeblocks). Since the operation of writing and updating data to the flash memory is unpredictable by the system side, in order to facilitate the update action of the static/dynamic data, the known first data D1 and the second data D2 are preset as dynamic data. Frequently updated data), the third data D3 is static data (less frequently updated data). Then, the system starts the operation of updating the data. First, the first resource D1 of the memory block B is updated, and then the control unit writes the updated first data di into the memory block B2, and then erases the memory block B0. At this time, the counter on the control unit adds one to the total erasing frequency of the flash memory and updates the status message of the block B0, including the erasing frequency ec〇=i of the recording memory block bo and the erasing erasing time mark. ET0=1 (that is, the total number of erases of the current flash memory). As mentioned above, the two records of the erase count EC and the erase time mark ET can be stored in the logical/entity conversion table, or the redundant area of the memory block. The system then updates the first data D1' so that the control unit writes the updated first material D1 to the memory block B3' and then erases the memory block B2. At this time, the counter on the control unit adds one to the total erasing frequency of the flash memory, and updates the status message of the memory block B2, the erasing number EC2=1 of the memory block B2, and the erasing time symbol ET2=2. According to the above mode, the first data D1 and the second data D2 are successively updated. When the total erasing frequency of the flash memory reaches seven times, the erasing frequency of the memory block B〇 is EC〇=2, and the erasing time symbol ET0= 4. The number of erasures of the memory block is EC1=2, the erasing time mark ET1=7; the erasing frequency of the memory block B2 is EC2=1, the erasing time mark ET2=2; the erasing times of the memory block B3 EC3=2, erasing time mark ET3=6; and erasing frequency of memory block B4 EC4=〇, erasing time § number ET4=0. It can be found that the memory block B4 has not been erased after the total number of erasures of the flash memory reaches seven times, so the data stored in the memory block B4 has not been updated yet. In order to make the memory blocks in the flash memory evenly used, the static erasure level 201015581 is performed at this time, and the third data 〇3 in the memory block B4 is moved to the empty memory block with the most erasure times. The memory is placed to release the memory block B4 and reduce the chance of erasing the most erased memory blocks. Then, the third data D3 is copied from the memory block B4 to the memory block B3, and then the status information of the memory block B4 and the updated memory block B4 is erased, the erasure number EC4=i, and the erasure time symbol ET4 is erased. =8. Then, referring to FIG. 10, after the first static erasing average is performed, the system successively updates the first data D1 and the second data D2 'until the total erasing frequency of the flash memory reaches 14 times' will be executed. The second static erase average. At this time, the erasing frequency of the memory block B〇 is EC〇=3, 抹 erasing the time mark ET0=13; the erasing frequency of the memory block Εα=4, erasing the time mark ET1-14 'memory block B2 Number of erasures EC2=3 'Erase time mark ET2=12; erasing frequency EC3=2 of memory block B3, erasing time mark ET3=6; and erasing number of memory block B4 EC4-2 'wipe Except the time stamp ΕΤ4=1〇. The memory block with the least number of erasures is the memory blocks B3 and B4', and the number of erasures is twice. At this time, the control unit is based on the difference between the erasing time stamp of the memory block and the total erasing number, and the value indicates how many times the flash memory device performs the erasing of the memory block in the memory block. In this way, it can be known which memory block has not been erased for a long time, and the memory block storing the static data is correctly selected and released. Because, if there is a piece of data after multiple flashes, save and erase _ actions, but not updated, the possibility of riding the data as static data is extremely high. Therefore, the present invention uses the difference between the erase time mark of the memory block and the total erased count to determine whether the data recorded in the memory block is static data, and can avoid the number of times that the erased number is small but stored. The memory block of f material +, the empty memory block with a high number of erasures, and the chance of erasing the memory block with a high erasure frequency. Therefore, when the memory blocks B3 and B4 are twice erased, the same erase block has the least number of erase blocks in the memory block. Then, according to the difference between the erasing time mark of the memory block and the total erasing time, the memory block for performing static erasing is selected, and the total erasing frequency of the flash memory is I4, and the memory block B3 The erasing time is marked by Yang 2, so the difference between the erasing time mark of the memory block 201015581 B3 and the total erasing number is B3AEC=14-6=8; the erasing time of the memory block B4 is ET4=6, Therefore, the difference between the erase time mark of the memory block B4 and the total erase count is B4AEC=14-10=4. According to the difference between the two, it can be known that the memory block B3 is older than the memory block B4 for a long time, that is, the data in the memory block B3 is more than the data in the memory block B4. It has not been updated for a long time, so the data in memory block B3 is more likely to be static data. Therefore, when the static erase averaging is performed, the third data D3 in the memory block B3 is copied to the memory block m having the highest erased number, and then the memory block B3 is erased. In this way, the memory block with less erased times due to the storage of static data will be released for use, and the memory block B1 with higher erase frequency can reduce the chance of being erased due to the storage of static data. . However, if the second static erasing averaging is performed, the erasing time of the memory block using the memory block is not used, and the differential memory state of the memory is selected to erase the average memory block. Copying the first data 01 in the memory block B4 to the memory block B1+ with the higher erase frequency, and the first data D1 is the dynamic data (previously known), and it is likely to be in the lower-under system. The writer's homework was updated. As shown in FIG. u, if the second static erasure averaging is performed, the first data D1 of the memory block B4 is copied to the memory block m with a higher erase frequency, and then the reward is better and newer.帛-data m, the average static action of the knot pattern is not only the number of erasures of the memory block bi with a higher number of times, but also the number of erasures of the memory block B1 (EC1) =5). Therefore, when performing static erasing averaging, whether the data of the scaled block towel on the right is (4) will be able to move the dynamic material to the erased block, and the memory block is more serious. It is worn out and reaches the end of life earlier than other memory blocks. μ Refer to Figure I2 to erase the flat touch scorpion in this state, and to erase the average action flow. As shown in the flow chart of the timing and degree of performing static erasure averaging in Fig. 6, the flash memory is arbitrarily wiped out according to the wiping time of each memory block, and the static erasing average is appropriate at the age of the age. Then, when the static erase averaging is performed, the memory block having the lowest erase frequency in the flash memory is found first according to the record of the number of erasures of the blocks of the memory block ('Sp. S201). Then, through the calculation of the software or the hardware circuit, the AEC of the memory block with the lowest erased frequency (the difference between the erasure time stamp of the memory block and the total erased count) can be known (step S203) 'to facilitate judgment The data of that memory block has not been updated for a long time. Then, according to the number of memory blocks that need to be performed according to the degree of static erasing, the data in the memory block with the lowest erased number and the highest memory block is copied to the empty memory block with the highest erasure frequency (step S2〇5), if The empty memory block with the highest erasure frequency is not enough. The job order is used to erase the empty memory block with the second highest number of times. Then, the copied block is erased' and the flash memory is updated according to the occurrence of the erase action (the S2G7 is tilted). After updating the total erased seam, the number of erases of the memory block of the lion and the erase time mark are recorded (step gamma 9). After the erasing times and erasing time marks of the memory blocks of the minimum erasing times are recorded, it is judged whether or not the recording ship on which the data transfer is to be performed is completed (to S211). The number of memory blocks (4) is shifted, and the above steps are repeated. 'The data in the memory block having the lowest number of erase erases is executed (the erase level X according to the static erased step X is step S213). If the number of memory blocks that need to perform data movement has been completed, the action of static erasing is ended. In summary, the present invention analyzes the number of erasures of all memory blocks by statistical methods to control the distribution and navigation of the ship blocks, and then the average timing and degree of the mosquitoes to listen to the average #This avoids excessive execution of static erase averaging It affects the access rate of the flash memory and the expected lifetime. Furthermore, by recording the total number of erasures of the flash memory and the erasing time of the memory block, the magnetic block can be saved and stored in the memory block of the fresh data. The empty memory block releases the memory block from which the static data was originally stored, thereby avoiding the occurrence of improper static erasing actions. The above description is only intended to be illustrative of the specific embodiments of the invention, and is not intended to limit the scope of the invention. Variations or modifications that can be easily conceived within the scope of the invention are encompassed by the scope of the patents that are within the scope of the invention. For example, the above is a flashing device as an example, but one of ordinary skill in the art can easily think of that the flash memory is a non-volatile memory. In fact, the present invention is also applicable to other Types of non-volatile memory, such as EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), PRAM ( Phase-change random access memory, MRAM (Magnetic Random Access Memory), FRAM (Ferroelectric Random Access Memory).

【圖式簡單說明】 圖1為本發明的具體實施模式中各記憶區塊抹除次數第一分佈情況表 所對應轉換的抹除次數分佈圖。 圖2為本發明的具體實施模式中各記憶區塊抹除次數第一分佈情況表 所對應轉換的抹除次數與記憶區塊數目關係圖。 圖3為本發明的具體實施模式中各記憶區塊抹除次數第二分佈情況表 所對應轉換的抹除次數分佈圖。 圖4為本發明的具體實施模式中各記憶區塊抹除次數第二分佈情況表 所對應轉換的抹除次數與記憶區塊數目關係圖。 圖5為本發明的一預設不同標準差的實例圖。 圖6為本發明的具體實施模式中一根據不同標準差執行不同程度的靜 態抹除平均的流程圖。 圖7為本發_具體實祕式巾非揮發性存峨置架構圖。 圖8a為本發明的具體實施模式中邏輯/物理架 圖处為本發_具體實施模式中記憶區塊的架構示意圖'。° 為本發_具财賴式巾-執彳作_:欠靜祕辭均示意圖。 體實施模式中—執行第 圖U為本發_實施模式中另-執行第二次靜_除平均示音、 201015581 圖12為本發明的具體實施模式中靜態抹除平均流程圖。 【主要元件符號說明】 1 非揮發性存儲裝置 13 控制器 131 計數器 133 存儲器(17存儲器) 135 控制單元 15 快閃記憶體BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram showing the distribution of erase times corresponding to the first distribution of the number of times of erasing the memory blocks in the specific embodiment mode of the present invention. 2 is a diagram showing the relationship between the number of erasures corresponding to the conversion and the number of memory blocks in the first distribution table of the erasing times of each memory block in the specific implementation mode of the present invention. Fig. 3 is a diagram showing the distribution of erasure times corresponding to the conversion of the second distribution of the number of times of erasing the memory blocks in the specific embodiment mode of the present invention. 4 is a diagram showing the relationship between the number of erasures and the number of memory blocks corresponding to the second distribution of the number of erasures of each memory block in the specific implementation mode of the present invention. Figure 5 is a diagram showing an example of a preset different standard deviation of the present invention. Fig. 6 is a flow chart showing the execution of different levels of static erase averaging according to different standard deviations in a specific embodiment mode of the present invention. FIG. 7 is a structural diagram of a non-volatile storage device of the present invention. FIG. 8a is a schematic diagram of the architecture of a memory block in a specific implementation mode according to a specific implementation mode of the present invention. ° This is a hair _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ In the physical implementation mode, the execution is performed in the present embodiment. In the implementation mode, the second static-de-equalization average sound is performed. 201015581 FIG. 12 is a flow chart of the static erasing average in the specific implementation mode of the present invention. [Main component symbol description] 1 Non-volatile memory device 13 Controller 131 Counter 133 Memory (17 memory) 135 Control unit 15 Flash memory

Claims (1)

201015581 十、申請專利範圍: 1. 一種包括複數個記憶區塊的非揮發性存儲裝置的控制方法,該控制 方法包括下列步驟: 統計所有記憶區塊的抹除次數;以及 根據該統計結果,計算該抹除次數分佈的標準差,並由該標準差確定 靜態抹除平均的模式。 2. 如申請專利範圍第1項所述的控制方法,其中該抹除平均的模式包 括下列步驟: 至少預設一標準差的門檻值;以及 判斷該抹除次數分佈的標準差是否大於該門檻值,若是大於該門梭 值’則執行抹除動作後交換大量的存儲靜態資料的記憶區塊,若否,則執 行抹除動作後交換少量的存儲靜態資料的記憶區塊或不進行抹除平均動 作0 3. 如申請專利範圍第2項所述的控制方法,其中該靜態資料為彳艮少、 甚至從不更新的資料,包括系統的程式碼、應用程式碼或久未更新的使用 者資料等。 4. 如申請專利範圍第2項所述的控制方法,其中該交換存儲靜態資料 Φ 的區塊的方法,為將靜態資料搬移至抹除次數最高的記憶區塊並抹除該存 儲靜態資料的區塊。 5. —種確定快閃記憶體存儲裝置中靜態資料的控制方法,該控制方法 包括下列步驟: 記錄該存儲裝置中記憶區塊的總抹除次數;以及 記錄該存儲裝置中執行抹除時被抹除區塊的抹除時間記號。 6. 如申請專利範圍第5項所述的控制方法’其中該控制方法還包括比 較該總抹除次數及該抹除時間記號之差,其中差異最大的即為存儲靜態資 料的區塊。 201015581 7.如申請專利範圍第5項所述的控制方法,其中該抹除時間記號由_ 負責累加該存儲裝置記憶區塊抹除次數的計數器產生。 上發生抹除動作的記憶區塊相關的欄位中。 9. 一種包括複數個記憶區塊的非揮發性記憶體存儲裝置 8.如申請專利範圍第5項所述的控制方法,其中該抹除時間記號可記 錄在發生抹除動作的記親塊·餘區域,或記錄在邏輯/實體位址轉換表 ’該存儲裝置 包括有: 一存儲單元,用於存儲該存儲裝置的總抹除次數; 一計數器,用於產生一抹除時間記號。 ’其中該計數器 為負責累加該些記憶區塊的抹除次數的計數器。 10·如申請專利範圍第9項所述的非揮發性存儲裝置, /·如中請專利範圍第9項所述的非揮發性存儲裝置,其中該抹除時 間C號為該記舰塊發緣義作㈣加的鱗除次數。 12.如申請專利範圍第u項所述的非揮發性存储裝置,其中 間記號可記錄在發生騎動作軌__職_,或記錄在邏輯/實體 位址轉換表上發生抹__記祕__搁位中。 複數個記憶區塊; 一存儲單元,用灰 一控制單元,用參 種非揮發性s己憶體存儲裝置,該存儲裝置包括: ,用於存儲所有記憶區塊的抹除次數;以及201015581 X. Patent application scope: 1. A control method for a non-volatile storage device comprising a plurality of memory blocks, the control method comprising the steps of: counting the number of erasures of all memory blocks; and calculating according to the statistical result The standard deviation of the erased number distribution, and the mode of static erase averaging is determined by the standard deviation. 2. The control method according to claim 1, wherein the mode of erasing the averaging comprises the steps of: at least presetting a threshold value of one standard deviation; and determining whether a standard deviation of the distribution of the erasure times is greater than the threshold If the value is greater than the threshold value, then a large number of memory blocks storing static data are exchanged after the erase operation is performed. If not, a small amount of memory blocks storing static data are exchanged after the erase operation is performed or not erased. Averaging action 0 3. The control method as described in claim 2, wherein the static data is reduced or even never updated, including system code, application code or user data that has not been updated for a long time. Wait. 4. The control method according to claim 2, wherein the method of exchanging the block storing the static data Φ is to move the static data to the memory block with the highest erasure level and erase the static data stored. Block. 5. A method of determining static data in a flash memory storage device, the control method comprising the steps of: recording a total number of erases of a memory block in the memory device; and recording when the memory device is erased Erase the erasure time of the block. 6. The control method according to claim 5, wherein the control method further comprises comparing the difference between the total erase count and the erase time mark, wherein the difference is the block in which the static data is stored. The method of claim 5, wherein the erasing time token is generated by a counter that is responsible for accumulating the number of times the memory device erases the memory block. In the field related to the memory block where the erase action occurs. 9. A non-volatile memory storage device comprising a plurality of memory blocks. The control method according to claim 5, wherein the erasure time mark can be recorded in a remembering block in which an erasing action occurs. The remaining area, or recorded in the logical/physical address translation table', includes: a storage unit for storing the total number of erasures of the storage device; and a counter for generating an erasure time stamp. Wherein the counter is a counter responsible for accumulating the number of erases of the memory blocks. 10. The non-volatile memory device of claim 9, wherein the erasing time C is the ship's block. The meaning of the (4) plus the number of scales. 12. The non-volatile memory device of claim 5, wherein the middle mark can be recorded in the occurrence of the riding action track, or recorded on the logical/physical address conversion table. __ in the position. a plurality of memory blocks; a memory unit, using a gray control unit, and a non-volatile memory memory device, the memory device comprising: a memory number for storing all memory blocks; 算結果決定執行靜態抹除平均的程度。 厂/丨另§匕促险现的徠除次數,並 除次數的標準差,然後根據計The result determines the degree to which static erase is performed. Factory/丨 § 匕 匕 匕 匕 匕 , , , , 匕 匕 匕 匕 匕 匕 匕 匕 匕 匕 匕 匕 的程度包射情標準差是別、於該門植值, 开评赞性記憶體存儲裝置’其中該 且所述控制單元決定執行靜態抹除平均 門植值’若是判斷小於該門檻值,則執 201015581 行抹除動作後,交換第-抵存放靜態資__區塊,μ, 動作後,交換第二批存放靜態資料的記憶區塊。 15·—種非揮發性s己憶體存儲裝置,該存健裝置包括: 複數個記憶區塊; 一存儲單元,用於存儲各記憶區塊最近-次抹除的時間標記;以及 -控制單元,用於從該存儲單元獲取各記憶區塊的最近—次抹 間標記’且在對所述記憶區塊執行靜餘除平均的動作前 片一 抹除的時間標記最早的記憶區塊。 &取近-次 Ο 咖第15賴賴非揮發性記‘_存魏置,其中該 存%還用於存儲所有記憶區塊的總抹除次數,而、 最近一次抹除發生時對應的所有區塊的總抹除次數。標記為該區塊The degree of the standard deviation is the value of the threshold, and the evaluation memory storage device 'where the control unit decides to perform the static erasing average threshold value', if the judgment is less than the threshold value, After performing the 201015581 line erasing action, the first-to-storage static __ block is exchanged, and after the action, the second batch of memory blocks storing static data is exchanged. a non-volatile simon memory storage device, the storage device comprising: a plurality of memory blocks; a storage unit for storing a time stamp of a most recent erasure of each memory block; and - a control unit And for extracting the most recent smeared mark ' of each memory block from the storage unit and marking the earliest memory block at the time of erasing the slice before the action of performing the residual averaging on the memory block. & take near-time Ο 咖 15 15 赖 赖 非 _ _ _ _ _ _ _ _ _ _ _ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , The total number of erasures for all blocks. Mark as this block
TW97137824A 2008-10-01 2008-10-01 Non-volatile storage device and control method thereof TW201015581A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW97137824A TW201015581A (en) 2008-10-01 2008-10-01 Non-volatile storage device and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW97137824A TW201015581A (en) 2008-10-01 2008-10-01 Non-volatile storage device and control method thereof

Publications (1)

Publication Number Publication Date
TW201015581A true TW201015581A (en) 2010-04-16

Family

ID=44830097

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97137824A TW201015581A (en) 2008-10-01 2008-10-01 Non-volatile storage device and control method thereof

Country Status (1)

Country Link
TW (1) TW201015581A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11494299B2 (en) 2021-02-18 2022-11-08 Silicon Motion, Inc. Garbage collection operation management with early garbage collection starting point
TWI797742B (en) * 2021-03-19 2023-04-01 慧榮科技股份有限公司 Method of performing wear-leveling operation in flash memory and related controller and storage system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11494299B2 (en) 2021-02-18 2022-11-08 Silicon Motion, Inc. Garbage collection operation management with early garbage collection starting point
US11681615B2 (en) 2021-02-18 2023-06-20 Silicon Motion, Inc. Garbage collection operation management based on overall valid page percentage of source block and candidate source block
US11704241B2 (en) 2021-02-18 2023-07-18 Silicon Motion, Inc. Garbage collection operation management with early garbage collection starting point
US11809312B2 (en) 2021-02-18 2023-11-07 Silicon Motion, Inc. Garbage collection operation management based on overall spare area
TWI797742B (en) * 2021-03-19 2023-04-01 慧榮科技股份有限公司 Method of performing wear-leveling operation in flash memory and related controller and storage system

Similar Documents

Publication Publication Date Title
JP6847764B2 (en) Flash memory allocation method and solid state drive using it
TWI247292B (en) Maintaining an average erase count in a non-volatile storage system
US8356152B2 (en) Initiative wear leveling for non-volatile memory
TWI261168B (en) Non-volatile memory system with erase counts stored in an erase count block
JP5819610B2 (en) Method and apparatus for writing data to different storage devices
EP2069939B1 (en) End of life recovery and resizing of memory cards
JP4575346B2 (en) Memory system
TWI489373B (en) Data storage device and method for managing blocks of a flash memory
CN102880556B (en) Wear leveling method and system of Nand Flash
TWI332217B (en) Wear leveling method and apparatus for nonvolatile memory
TWI379194B (en) Block management method for flash memory, and storage system and controller using the same
US20080082726A1 (en) Memory Cards with End of Life Recovery and Resizing
US20080082725A1 (en) End of Life Recovery and Resizing of Memory Cards
CN111095226B (en) Memory device with dynamic cache management
TW200929232A (en) Wear leveling method and controller thereof
JP2013516716A (en) Control and discrepancy to limit current spikes
CN101645309A (en) Non-volatile memory device and control method thereof
TW200905685A (en) Memory apparatus, and method of averagely using blocks of a flash memory
TW200532441A (en) Internal maintenance schedule request for non-volatile memory system
JP2011503768A5 (en)
TW201037728A (en) A non-volatile memory subsystem and a memory controller therefor
TW201908956A (en) Data storage device and non-volatile memory operation method
TW201017412A (en) Method of performing wear leveling with variable threshold
TWI338856B (en) A flash memory storing device and a data storing method thereof
TW201015581A (en) Non-volatile storage device and control method thereof